Match Phrase Prefix Query

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Match Phrase Prefix Query相关的知识,希望对你有一定的参考价值。

Match Phrase Prefix Query

  match_phrase_prefix和match_phrase是相同的,除了它允许文本中最后一项使用前缀匹配。例如:

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

  它接受和短语类型一样的参数。此外,它也接受max_expansions参数(默认50),它可以控制最后一个项有多少前缀可以扩展。它被强烈建议设置一个可接受的值,以控制查询的时间。例如:

GET /_search
{
    "query": {
        "match_phrase_prefix" : {
            "message" : {
                "query" : "quick brown f",
                "max_expansions" : 10
            }
        }
    }
}

  重要:match_phrase_prefix 查询是a poor-man’s autocomplete。它非常容易使用,让你快速开始搜索即时类型,但它的结果,通常是足够好的,有时也会让产生疑惑。

  考虑查询字符串 quick brown f。此查询通过从quick和brown创建短语查询而工作(即quick项必须存在并且紧跟着brown项)。然后它搜索以f开通按照字典项排序的前50个项并且把这些项加入到短语查询中。

  问题是,可能前50项中可能没有包含fox,所有quick brown fox可能没有被找到,这通常都不是问题,用户可以持续输入更多的字符,直到他们搜索的词出现为止。

  更好的搜索即时类型(search-as-you-type)解决方案请看completion suggesterIndex-Time Search-as-you-type

 

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.0/query-dsl-match-query-phrase-prefix.html

以上是关于Match Phrase Prefix Query的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch query dsl

elasticSearch-DSL

Elasticsearch 支持哪些类型的查询?

23.match_phrase_prefix实现search-time搜索推荐

Elasticsearch match_phrase用法

搜索语义优化1:match_phrase和match的区别