Elasti c поиск не должен работать неправильно - PullRequest
0 голосов
/ 06 апреля 2020

У меня возникла проблема с фильтрацией моего поискового запроса в elasti c search с использованием предложения " must_not "

Отображение, которое я вставил для моего индекса

{
    "monojit": {
        "mappings": {
            "banik": {
                "properties": {
                    "productid": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "text"
                            }
                        }
                    },
                    "priority": {
                        "type": "integer"
                    },
                    "excludesku": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "text"
                            }
                        }
                    }

                }
            }
        }
    }
}

Я вставил ниже упомянутые json данные по одному

Пример данных 1:

   {
        "productid": "MP01212,MP0766,MP865578,MP8656889",
        "excludesku": "98656890,86444326",
        "priority":2,

    }

Пример данных 2:

 {
        "productid": "MP01212",
        "excludesku": "12345642570,32434434,3938463732",
        "priority":1,

    }

Мой запрос был

{ 
   "query":{ 
    "constant_score":{
        "filter": {
            "bool": {
              "should": [ 
                  {
                   "bool": {
                    "must":{
                        "match": {
                         "productid": "MP01212"
                      }
                    },
                    "must_not":{
                        "match":{
                         "excludesku": "3938463732"
                        }
                    }
                   }  
                  }
                  ]
            }
        }
    }
   }, 
    "sort" : {
       "priority":{
        "order":"asc"
       }
    }
}

Мой запрос дал мне все хиты, но я хочу только "Пример данных 1" в результате, но, к сожалению, поле "excludeussid" не работает. пожалуйста, предложите мне.

...