Elasticsearch的auto_generate_phrase_queries有什么作用?

时间:2015-02-06 19:40:36

标签: elasticsearch

在查询字符串查询的文档中,auto_generate_phrase_queries被列为参数,但唯一的描述是“默认为false”。那么这个参数到底做了什么?

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html

1 个答案:

答案 0 :(得分:6)

这将与lucene的org.apache.lucene.queryparser.classic.QueryParserSettings#autoGeneratePhraseQueries直接匹配。当分析器应用于查询字符串时,此设置允许lucene生成带引号的短语而不是关键字。

Quoting

  

SOLR-2015:将一个布尔属性autoGeneratePhraseQueries添加到TextField。     autoGeneratePhraseQueries =“true”(默认值)导致查询解析器     如果从单个生成多个令牌,则生成短语查询     非引用的分析字符串。例如,WordDelimiterFilter拆分文本:pdp-11     将导致解析器生成文本:“pdp 11”而不是(text:PDP OR text:11)。     请注意,autoGeneratePhraseQueries =“true”往往不适用于非空白     分隔语言。

其中单词分隔符用作WordDelimiterFilter.html

需要注意的重要事项是single non-quoted analysis string,即如果您的查询字符串未引用。如果您已经在搜索引用的短语,那么它就没有任何意义。