Span Field Masking 查询

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

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