Elasticsearch API 文档翻译 Matchboolean prefix query

概述

match_bool_prefix查询会分析其输入,并根据这些术语构造一个bool查询。词条查询中使用除最后一个词以外的每个词条。最后一项在前缀查询中使用。match_bool_prefix查询,例如

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

分析产生术语“快速”,“棕色”和“ f”类似于以下布尔查询

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

match_bool_prefix查询和match_phrase_prefix之间的重要区别是match_phrase_prefix查询将其术语作为短语进行匹配,但是match_bool_prefix查询可以在任意位置匹配其术语。上面的示例match_bool_prefix查询可以匹配包含快速棕色狐狸的字段,但也可以快速匹配棕色狐狸。它也可以匹配出现在任何位置的字段,该字段包含术语“快速”,术语“棕色”和以f开头的术语。

参数

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

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

match_bool_prefix查询支持对match查询所述的minimum_should_match和operator参数,并将设置应用于构造的bool查询。在大多数情况下,构造的布尔查询中的子句数将是通过分析查询文本产生的术语数。模糊性,prefix_length,max_expansions,fuzzy_transpositions和Fuzzy_rewrite参数可以应用于为除最终术语以外的所有术语构造的术语子查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值