天天看点

elasticsearch query里面的slop选项

slop

用过搜索引擎的都知道,输入一个query,然后会出很多联想的词条,如下面:

elasticsearch query里面的slop选项

一般来说完全精确短语匹配 或许是过于严格了。

也许我们想要包含 “quick brown fox” 的词条也能够匹配 “quick fox,” , 尽管情形不完全相同。

我们能够通过使用 slop 参数将灵活度引入短语匹配中。

slop 参数告诉 match_phrase 查询词条相隔多远时仍然能将文档视为匹配 。 相隔多远的意思是为了让查询和文档匹配你需要移动词条多少次?

我们以一个简单的例子开始吧。 为了让查询 quick fox 能匹配一个包含 quick brown fox 的文档, 我们需要 slop 的值为 1:

GET /my_index/my_type/_search
{
   
    "query":