Elasticsearch实战——近似文本查询(more_like_this query)
more_like_this query可以查询和提供文本类似的文档,通常用于近似文本的推荐场景。
查询命令如下:
{
"query":{
"more_like_this":{
"fields":["title"],
"like":"凤凰自行车",
"min_term_freq":1,
"max_query_terms":12
}
}
}
可选的查询参数如下:
fields
:需要匹配的字段。like
:要匹配的文本。min_term_freq
:文档中词项的最低频率,默认是2,低于此频率的文档会被忽略。max_query_terms
:query中能包含的最大词项数目,默认为25。min_doc_freq
:最小的文档频率,默认为5。max_doc_freq
:最大文档频率。min_word_length
:单词的最小长度。max_word_length
:单词的最大长度。stop_words
:停用词列表。analyzer
:分词器。minimum_should_match
:文档应该匹配的最小单词数量,默认为query分词后词项的30%。boost_terms
:词项的权重。include
:是否把输入文档作为结果返回。boost
:整个query的权重,默认为1.0。
关注我
搜索微信公众号:java架构强者之路