假设我有一个名为message
的字段。该字段将包含一个句子。
另外,我有一系列术语。该数组将包含多个单词。
就像是,
"query": {
"bool": {
"must": [
{
"terms": {
"message": [
"domain",
"rejected"
],
"boost": 1
}
}
]
}
假设我只想返回
domain
和rejected
都必须存在的那些文档,而不管它们在句子中的顺序如何。查询应该是什么样的?
最佳答案
您应该能够利用 intervals
query实现所需的功能,如下所示:
{
"query": {
"intervals": {
"message": {
"match": {
"query": "domain rejected",
"max_gaps": -1,
"ordered": false
}
}
}
}
}
该查询基本上是这样的:
within the
message
field, find the termsdomain
andrejected
in no particular order and no particular proximity
关于elasticsearch - Elasticsearch-仅在存在所有给定术语的情况下才返回文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60293501/