Span Field Masking 查询

包装器允许span查询通过欺骗他们的搜索字段来参与复合单字段跨度查询。跨域字段屏蔽查询映射到Lucene的SpanFieldMaskingQuery

这可以用来支持像span-near 或 span-or不同字段的查询,这通常不被允许。

当使用多个分析器对同一内容进行索引时,跨域字段屏蔽查询与多字段非常重要。例如,我们可以使用标准分析器对一个字段进行索引,该分析器将文本分解成单词,再次用英文分析器将单词写入其根形式。

例:

GET /_search
{
  "query": {
    "span_near": {
      "clauses": [
        {
          "span_term": {
            "text": "quick brown"
          }
        },
        {
          "field_masking_span": {
            "query": {
              "span_term": {
                "text.stems": "fox"
              }
            },
            "field": "text"
          }
        }
      ],
      "slop": 5,
      "in_order": false
    }
  }
}

注意:作为跨域掩码查询返回掩蔽字段,使用提供的字段名称的规范进行评分。这可能会导致意想不到的得分行为。