У меня есть запрос, аналогичный приведенному ниже
{
"size": 15,
"from": 0,
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"match_phrase": {
"category": "men_fashion"
}
},
{
"match_phrase": {
"category": "western_clothing"
}
},
{
"match_phrase": {
"category": "shirts"
}
}
]
}
}
}
}
Проблема здесь в том, что он также извлекает товары из категории «футболки». Как я могу ограничить это, чтобы найти только точные совпадения?
ОБНОВЛЕНИЯ: вот код, который я использую для сопоставления
{
"mappings": {
"products": {
"properties": {
"variations": {
"type": "nested"
}
}
}
}
}
Вот реальный образец продукта
{
"title": "100% Cotton Unstitched Suit For Men",
"slug": "100-cotton-unstitched-suit-for-men",
"price": 200,
"sale_price": 0,
"vendor_id": 32,
"featured": 0,
"viewed": 20,
"stock": 4,
"sku": "XXX-B",
"rating": 0,
"active": 1,
"vendor_name": "vendor_name",
"category": [
"men_fashion",
"traditional_clothing",
"unstitched_fabric"
],
"image": "imagename.jpg",
"variations": [
{
"variation_id": "34",
"stock": 5,
"price": 200,
"variation_image": "",
"sku": "XXX-C",
"size": "m",
"color": "red"
},
{
"variation_id": "35",
"stock": 5,
"price": 200,
"variation_image": "",
"sku": "XXX-D",
"size": "l",
"color": "red"
}
]
}