gpt4 book ai didi

elasticsearch - 如何在开发工具查询中使用 “OR”

转载 作者:行者123 更新时间:2023-12-03 02:33:05 26 4
gpt4 key购买 nike

嗨,贝娄搜索向我提供了同时包含“值”:“HB”和“值”:“1234567”的日志,因为我正在使用Term,但是,如果此匹配项,我正在寻找什么

("value": "HB" OR "value": "TR" ) AND "value": "1234567"

但不了解下面的操作,
谁能帮帮我吗

GET _搜索
{ "query": { "bool": { "must": [ { "match": {"log.file.path":"mylog.log" } }


{
"term": {
"GPS-LOG.COMMAND": {
"value": "HB"
}
}
},
{
"term": {
"GPS-LOG.IMEI": {
"value": "1234567"
}
}
}



], "filter": {
"range": {
"@timestamp": {
"gte": "now-10m"
}
} }
} }

最佳答案

乍一看,似乎应该有一个简单的解决方案。但是,由于使用的是查询,因此一次只能搜索一个值。我不知道您的映射,但是如果您使用文本字段,则不应该使用术语查询。

但是,要使用术语查询来解决此问题,必须使用 minimum_should_match 结合应该创建来创建运算符。

请参见以下代码:

GET _search 
{
"query":{
"bool":{
"must":[
{
"match":{
"log.file.path":"mylog.log"
}
},
{
"term":{
"GPS-LOG.IMEI":{
"value":"1234567"
}
}
},
{
"bool":{
"should":[
{
"term":{
"GPS-LOG.COMMAND":{
"value":"HB"
}
}
},
{
"term":{
"GPS-LOG.COMMAND":{
"value":"TR"
}
}
}
],
"minimum_should_match":1
}
}
],
"filter":{
"range":{
"@timestamp":{
"gte":"now-10m"
}
}
}
}
}
}

关于elasticsearch - 如何在开发工具查询中使用 “OR”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59522942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com