Как вы включаете непревзойденные элементы в результатах поиска elasticsearch?Показать непревзойденные документы в elasticsearch
Например,
У меня есть список, который несколько выглядит следующим образом:
[
{
"_index": "products",
"_type": "71",
"_id": "556637aed75a1334f69db5d7",
"_score": 1,
"_source": {
"product_id": "556637aed75a1334f69db5d7",
"categories": [
28
],
"tags": ["shirts"]
}
},
{
"_index": "products",
"_type": "71",
"_id": "556637aed75a1334f69db5d2",
"_score": 1,
"_source": {
"product_id": "556637aed75a1334f69db5d2",
"categories": [
27
],
"tags": []
}
},
{
"_index": "products",
"_type": "71",
"_id": "556637aed75a1334f69db5e4",
"_score": 1,
"_source": {
"product_id": "556637aed75a1334f69db5e4",
"categories": [
26
],
"tags": [
"shoes"
]
}
},
{
"_index": "products",
"_type": "71",
"_id": "556637aed75a1334f69db5dd",
"_score": 1,
"_source": {
"product_id": "556637aed75a1334f69db5dd",
"categories": [
23
],
"tags": []
}
}
]
Я хотел бы получить результат, который показывает, согласованные документы первым и непарные документов рядом.
Если мой запрос выглядел примерно так:
{
"query": {
"terms": {
"tags": [
"shorts",
"shoes"
]
}
},
"sort": [ "_score" ]
}
я хотел бы получить список только те элементы, которые имеют либо shoes
или shorts
тегов.
Я хотел бы также показать непревзойденные элементы после согласованных.
Кроме того, я хотел бы добавить categories
в мой поисковый запрос. Может кто-то помочь мне с этим?
Вау, не могу поверить, что все было так просто. Спасибо, Андрей, я пытался понять это в течение последних двух дней. – clueless
:-) Не беспокойся, я рад, что смог помочь вам. –
Btw, можно ли повысить релевантность для 'категорий'? Я попытался добавить '{boost: 2}' после 'terms', но это дало мне ошибку. EDIT: жаль, не ошибка, но, скорее, не дал мне разные результаты. – clueless