У меня возникла проблема с фильтрацией моего поискового запроса в 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" не работает. пожалуйста, предложите мне.