Поиск по нескольким полям с вхождением части строки или полной строки в разных полях

Добрый день, помогите пожалуйста составить запрос

Мне нужно чтобы, поиск сначала находил хотя бы по одному слову в каждом поле, если найдет все слова в одном поле, тоже подходит. В данном случае меня интересует только Трап и только Roca в начале выдачи. А получаю я ничего так как выставлен оператора and, который хочет чтобы все слова были в одном поле, но у меня они роскиданы по разным полям.

К примеру Трап ROCA есть в названии или описании или артикуле, значит выводим
К примеру Трап есть в названии, а ROCA в описании, а в артикуле нету, значит выводим, так как вся фраза нашлась в нескольких полях, но не обязательно всех
К примеру есть только трап или только Roca, не выводим, так как есть запрос на конкретный предмет, конкретного бренда
Чем больше совпадений в названии, тем лучше, так как там стоит приоритет ^3

{
    "query": {
        "multi_match": {
            "query": "Трап ROCA",
            "fields": [
                "name_uk^3",
                "sku^2",
                "description_uk",
                "values.value_name_uk"
            ],
            "type": "cross_fields",
            "operator": "and"
        }
    }
}

Попытался сделать через minimum_should_match, но результат все равно не тот, если к примеру одно слово из названия, второе артикул, на найдет ничего при minimum_should_match < 50

А если "operator": "and" убрать, то что не подходит?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.