У меня есть сценарий, в котором я хочу получить результаты из эластичного элемента, который имеет любой из следующих текстов:
- "Samsung S8"
- "Silverado"
- "диски"
- "Пинг-понг"
Как можно увидеть здесь, "samsung s8 /" пинг-понг "являются биграммами и должны иметь логическую схему И, потому что я хочу оба этих термина.
Есть ли способ достичь этого? Прямо сейчас я формирую такой упругий запрос, который, очевидно, является неправильным, поскольку он может дать результат с "s8", но не с "samsung".
"must": [
{
"query_string": {
"query": "samsung s8 silverado rims ping pong",
"fields": [
"category^1.0",
"description^1.0",
"keywords.*^0.0",
"title^1.0"
],
"use_dis_max": true,
"tie_breaker": 0,
"default_operator": "or",
"auto_generate_phrase_queries": false,
"max_determinized_states": 10000,
"enable_position_increments": true,
"fuzziness": "AUTO",
"fuzzy_prefix_length": 0,
"fuzzy_max_expansions": 50,
"phrase_slop": 0,
"escape": false,
"split_on_whitespace": true,
"boost": 1
}
}
],