У меня есть запрос, как показано ниже, и я хочу кэшировать его без использования фильтра. Код ниже работает хорошо, но я не мог использовать «_cache»: true с ним.Elasticsearch: как кэшировать логический запрос без фильтра?
{"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
}}}
Спасибо за помощь