elasticsearch - 在ElasticSearch中,如何组合 `span_near`和 `term`?

标签 elasticsearch

以下查询返回匹配:

{
  "query": {
    "span_near": {
      "clauses": [
        {
          "span_term": {
            "file.contents": "charstreams"
          }
        }
      ],
      "slop": 0,
      "in_order": true
    }
  }
}

以下内容也是如此:
{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "file.extension": "java"
        }
      }
    }
  }
}

将这两个条件都满足的查询是什么?

最佳答案

{
  "query": {
    "filtered": {
      "query": {
        "span_near": {
          "clauses": [
            {
              "span_term": {
                "file.contents": "charstreams"
              }
            }
          ],
          "slop": 0,
          "in_order": true
        }
      },
      "filter": {
        "term": {
          "file.extension": "java"
        }
      }
    }
  }
}

另外,由于您将slop设置为0,而in_order设置为true,因此您可能需要考虑使用https://www.elastic.co/guide/en/elasticsearch/guide/current/phrase-matching.html

关于elasticsearch - 在ElasticSearch中,如何组合 `span_near`和 `term`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32209101/

相关文章:

elasticsearch - Elasticsearch 的用户界面

ElasticSearch 窗口滚动大小

javascript - 如何禁用 winston elasticstack 客户端和传输生成的调试控制台输出?

java - Hibernate 搜索 - 删除 Elasticsearch 索引配置

elasticsearch - Elasticsearch:为什么id突然以AV开头?

python - 获取索引elasticsearch python中的所有字段名称

elasticsearch - 聚合查询的Elasticsearch验证

elasticsearch - Lucene/Elasticsearch/Solr中的最小单词匹配数

spring-boot - Spring Data Elasticsearch返回空的聚合桶

elasticsearch - BM25 是否使用查询协调器?