elasticsearch Elasticsearch子字符串必须包含在字段中
我有以下疑问:
elasticsearch Elasticsearch子字符串必须包含在字段中,
elasticsearch,lucene,kibana,elastic-stack,
elasticsearch,Lucene,Kibana,Elastic Stack,我有以下疑问: GET _search { "query": { "bool" : { "must" : { "match" : { "log": "a perfect phrase" } }, "filter": { "range": { "time": { "gte": "now-10m", "lte": "
GET _search
{
"query": {
"bool" : {
"must" : {
"match" : { "log": "a perfect phrase" }
},
"filter":
{
"range": {
"time": {
"gte": "now-10m",
"lte": "now"
}
}
}
}
}
}
然而,我有时会得到一些文档,其中包含一些来自完美短语的单词,但这些单词并不完全是完美短语。我只想保留包含这个确切字符串的文档,而不是包含几乎这个字符串的文档
因为这个字符串通常包含在更大的文档中,可以包含随机数据,所以我不认为我可以使用关键字这个术语
如何查找日志字段中正好包含此字符串的所有文档?您可以使用匹配短语而不是匹配
因此,基本上您的搜索查询如下所示:
GET your-index-name/_search
{
"query": {
"bool" : {
"must" : {
"match_phrase" : { "log": "a perfect phrase" }
},
"filter":
{
"range": {
"time": {
"gte": "now-10m",
"lte": "now"
}
}
}
}
}
}
有关详细信息,请参阅此