# Span Field Masking 查询

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-span-field-masking-query.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/query-dsl-span-field-masking-query.html)

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10029293](http://www.apache.wiki/pages/viewpage.action?pageId=10029293)

贡献者 : [片刻](/display/~jiangzhonglian) [ApacheCN](/display/~apachecn) [Apache中文网](/display/~apachechina)

包装器允许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
    }
  }
}
```

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