原文链接 : 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

    贡献者 : 片刻 ApacheCN Apache中文网

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

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

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

    例:

    1. GET /_search
    2. {
    3. "query": {
    4. "span_near": {
    5. "clauses": [
    6. {
    7. "span_term": {
    8. "text": "quick brown"
    9. }
    10. },
    11. {
    12. "field_masking_span": {
    13. "query": {
    14. "span_term": {
    15. "text.stems": "fox"
    16. }
    17. },
    18. "field": "text"
    19. }
    20. }
    21. ],
    22. "slop": 5,
    23. "in_order": false
    24. }
    25. }
    26. }

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