gpt4 book ai didi

elasticsearch - Elasticsearch查询中使用相同关键字的不同结果

转载 作者:行者123 更新时间:2023-12-02 22:37:35 24 4
gpt4 key购买 nike

我有一个问题要了解搜索逻辑。我有一个Elasticsearch 5.4实例,并进行了query_string查询。默认运算符为OR。其他设置未定义。
现在我搜寻

dog house

并获得10,500个结果。然后我寻找
house dog

并且仅获得6,200个结果。这对我有点好奇。

那是我的查询:
{
"query" : {
"bool" : {
"must" : [
{
"query_string" : {
"query" : "dog house~",
"default_operator" : "OR",
"fuzziness" : "AUTO"
}
},
{
"term" : {
"client" : {
"value" : "MyClient",
"boost" : 1
}
}
},
{
"range" : {
"dateCreate" : {
"gte" : "2000-01-01T00:00:00+0200",
"lte" : "2000-12-31T23:59:59+0200"
}
}
}
]
}
},
"size" : 2,
"from" : 0,
"sort" : [
{
"_score" : {
"order" : "desc"
}
}
],
"collapse" : {
"field" : "title.keyword"
}
}

最佳答案

这是由于~运算符。如果您尝试将其删除并再次运行查询,那么如果查询为dog househouse dog,则编号应相同。

如果您运行dog house~house~ dog,即使结果数也应该相同,但是如果您将~从屋子更改为狗,则结果数也会改变。

如果要两个词都指定模糊搜索可以匹配的转置距离1,则可以尝试使用house~ dog~,然后更改顺序,结果将相同。

关于elasticsearch - Elasticsearch查询中使用相同关键字的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45006640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com