gpt4 book ai didi

caching - Elasticsearch:如何在不使用过滤器的情况下缓存 bool 查询?

转载 作者:行者123 更新时间:2023-12-03 02:02:18 25 4
gpt4 key购买 nike

我有一个查询,如下所示,我想在不使用过滤器的情况下对其进行缓存。
下面的代码运行良好,但我无法使用“_cache”:true。

{"query": {
"bool": {
"should": [
{
"match": {
"keywords": "heart"
}
},
{
"match": {
"treatment_name": "heart"
}
},
{
"wildcard": {
"keywords": "heart*"
}
},
{
"wildcard": {
"treatment_name": "heart*"
}
},
{
"fuzzy": {
"keywords": "heart"
}
},
{
"fuzzy": {
"treatment_name": "heart"
}
}
],
"minimum_should_match": 2
}}}

第二个代码也可以,但是结果没有任何分数,这是非常必要的。
{"filter": {
"fquery": {
"query": {
"bool": {
"should": [
{
"match": {
"keywords": "heart"
}
},
{
"match": {
"treatment_name": "heart"
}
},
{
"wildcard": {
"keywords": "heart*"
}
},
{
"wildcard": {
"treatment_name": "heart*"
}
},
{
"fuzzy": {
"keywords": "heart"
}
},
{
"fuzzy": {
"treatment_name": "heart"
}
}
],
"minimum_should_match": 2
}
},
"_cache": true
}}}

谢谢你的帮助

最佳答案

Elasticsearch不缓存查询。原因是必须为每个查询分别计算分数。缓存功能仅提供给过滤器。

关于caching - Elasticsearch:如何在不使用过滤器的情况下缓存 bool 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30957388/

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