Elasticsearch фильтрует одно и то же значение, но не одно и то же поле - PullRequest
0 голосов
/ 25 апреля 2019

Я настраиваю эластичное исследование на веб-сайте электронной коммерции, и у меня возникла проблема с фильтрами.У меня есть некоторые одинаковые значения в разных полях, особенно для значений длины.

Я уже пробовал этот запрос:

"query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "query": "serrure",
            "fields": [
              "titleSearch"    
              , "titleSearch.light"
              , "titleSearch.heavy"
              , "titleSearch.ngram"
            ],
            "type": "best_fields"
          }
        }
      ],
      "filter": [
        {
          "bool": {
            "must": [
              {
                "term": {
                  "product_child.attributeValue.attribute.content.title": "Axe"
                }
              }
            ],
            "filter": {
              "term": {
                "product_child.attributeValue.value": "40 mm"
              }
            }
          }
        },
        {
          "bool": {
            "must": [
              {
                "term": {
                  "product_child.attributeValue.attribute.content.title": "Largeur coffre"
                }
              }
            ],
            "filter": {
              "term": {
                "product_child.attributeValue.value": "30 mm"
              }
            }
          }
        }
      ]
    }
  }

и некоторые другие, но у меня все время одна и та же проблема.

у меня есть несколько хороших результатов с обоими значениями, но у меня есть много плохих результатов.

пример: "Largeur coffre": "40 мм" и "ax": "60 мм"

ожидается: "Largeur coffre": "30 мм" и "топор": "40 мм"

Я не знаю, как сделать фильтры эластичного поиска по хорошему ключу / значению.

Можете ли вы помочь мне, пожалуйста?

спасибо

...