transpositions:可选,布尔值,指示编辑是否包括两个相邻字符的变位(ab→ba),默认为true,使用的是Damerau-Levenshtein,如果为false,就会使用Levenshtein去计算。 短语前缀:match_phrase_prefix 先来了解下match_phrase,match_phrase检索有如下特点: match_phrase会分词。 被检索字段必须包含match_phrase中的所有词项并且顺序必...
$client=ElasticSearchCLient::getInstance();$indexParams=['index'=>'resty_product_test_index','body'=>['query'=>['match_phrase'=>['title'=>['query'=>'开源技术小栈20245直播间','slop'=>2]]];$indexResponse=$client->search($indexParams); 多字段查询 Match multi_match multi_match 查询可以...
"query": { "match_phrase": { "character": { "query": "谦虚 赞扬", "slop": 2 } } }, "track_total_hits": true } 3、multi_match multi_match 查询是 Elasticsearch 中一种用于在多个字段中搜索相同查询字符串的查询方式。它可以在多个字段之间执行相同的查询,并且可以指定不同字段之间的权重(boos...
match_phrase的特点: 词项匹配(查询分词的词项必须完全匹配到索引分词的词项中,并且词项的相对位置position必须一致) 分词后的相对位置也必须要精准匹配(slop) 使用slop之后,位置越近的得分就越高 短语查询和邻近查询都比简单的 query 查询代价更高 。 一个 match 查询仅仅是看词条是否存在于倒排索引中,而一个 match...
Elasticsearch match_phrase用法 目前有用到的用法如下: 1post /index_name/_search2{3"query": {4"match_phrase": {5"nickname": {6"query": "nihao ma",7"slop" : 08}9}10},11"size" : 10,12"from" : 013} 通过from+size来实现分页,但是有个限制,from+size不能超过index.max_result_window。
match_phrase与slop一起用,能保证分词间的邻近关系,slop参数告诉match_phrase查询词条能够相隔多远时仍然将文档视为匹配,默认是0。为0时 必须相邻才能被检索出来。 例如下面的语句,会把“白雪公主吃苹果”也能检索出来 GET my_index/_search { "query": { ...
match_phrase_prefix 和 match_phrase 类似,只不过 match_phrase_prefix 支持最后一个 term 的前缀匹配。 # 新增文档 PUT /test_idx/_doc/4 { "desc":"lifeabc is what" } PUT /test_idx/_doc/5 { "desc":"asdflifeabc is what" } # 前缀查询 ...
MatchPhraseQueryBuilder matchPhraseQueryBuilder = QueryBuilders.matchPhraseQuery(fieldName, phrase); 1. 其中,fieldName是要匹配的字段名,phrase是要匹配的短语。 Match Phrase查询还支持一些可选参数,例如slop和boost。slop参数用于指定允许的单词间的最大间隔数,boost参数用于指定查询的权重。
{“from”: 0,“size”: 10,“query”: {“bool”: {“must”: [{“term”: {“userPlace”: {“value”: “吉林”,“boost”: 1.0}}},{“match_phrase”: {“userName”: {“query”: “测试”,//入参只要被测试人员包含即可“slop”: 0,“zero_terms_query”: “NONE”,“boost”: 1.0...
match_phrase(phrase: 短语) 会对输入做分词,但是需要结果中也包含所有的分词,并且顺序要求一致。这个条件其实有一点苛刻了,有时候可能我输入错了,或者一个短语,只记得其中两个单词,第三个单词死活记不起来怎么办呢?ES也提供了slop这个参数帮我们解决这个问题: ...