栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Elasticsearch——Match boolean prefix query

Elasticsearch——Match boolean prefix query

match_bool_prefix查询分析其输入并根据terms构造bool查询。每个term(最后一个除外)都用于term查询。最后一个term用于前缀查询。

一个match_bool_prefix query 例子:

GET /_search
{
  "query": {
    "match_bool_prefix" : {
      "message" : "quick brown f"
    }
  }
}

其中,analysis生成的terms 是quick、brown和f   类似于下面的bool查询

GET /_search
{
  "query": {
    "bool" : {
      "should": [
        { "term": { "message": "quick" }},
        { "term": { "message": "brown" }},
        { "prefix": { "message": "f"}}
      ]
    }
  }
}

match_bool_prefix查询和match_phrase_prefix之间的一个重要区别是match_phrase_prefix查询将其terms作为短语匹配,但match_bool_prefix查询可以在任何位置匹配其terms。上面的match_bool_prefix查询示例可以匹配包含quick brown fox的字段,但也可以匹配brown fox quick。它还可以匹配一个字段,该字段包含term quick、term brown和一个以f开头的term,出现在任何位置。

默认情况下,match_bool_prefix的输入文本将使用分析器从查询字段的映射中进行分析。可以使用analyzer参数配置不同的搜索分析器

GET /_search
{
  "query": {
    "match_bool_prefix": {
      "message": {
        "query": "quick brown f",
        "analyzer": "keyword"
      }
    }
  }
}

match_bool_prefix查询支持minimum_should_match和match query 所述的operator 参数,并将该设置应用于构造的bool查询。在大多数情况下,构造的bool查询中的子句数将是通过分析查询文本生成的terms数量。

模糊性、前缀长度、最大扩展、模糊换位和模糊重写参数可应用于为所有term(最终term除外)构造的term子查询。它们对为最终term构造的前缀查询没有任何影响。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/335770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号