wyszukiwania nazwisk (tekst) ze spacjami w nim, powodując problem do mnie, mam mapowanie podobną doSzukaj nazwy (tekst) ze spacjami w elasticsearch
"{"user":{"properties":{"name":{"type":"string"}}}}"
Idealnie co powinno wrócić i wyniki Rank następująco
1) Bring on top names that exact match the search term (highest score)
2) Names that starts with the search term (high score)
3) Names that contains the exact search term as substring (medium score)
4) Names that contains any of the search term token (lowest score)
Przykład do następujących nazw w elasticsearch
Maaz Tariq
Ahmed Maaz Tariq
Maaz Sheeba
Maaz Bin Tariq
Sana Tariq
Maaz Tariq Ahmed
wyszukiwania dla „Maas Tariq” Wyniki powinny być w następującej kolejności
Maaz Tariq (highest score)
Maaz Tariq Ahmed (high score)
Ahmed Maaz Tariq (medium score)
Maaz Bin Tariq (lowest score)
Maaz Sheeba (lowest score)
Sana Tariq (lowest score)
Może ktoś punktu mnie, jak i które Analizatory użyciu? i jak uszeregować wyniki wyszukiwania dla nazw?
bym woleć rozwiązanie oparte na filtrach, ale nie udało mi się znaleźć odpowiedniego filtru dla 3. wymagania. – Ivaldi
Możesz po prostu utworzyć zapytanie do wyrażenia. Ponadto nie rozumiem, dlaczego potrzebujesz kwerendy custom_boost_factor. Czy nie możesz podać innej wagi do różnych zapytań za pomocą opcji 'boost'? – javanna
'Boost'' jest niedozwolone w pytaniu "powinien' sub? (Przynajmniej nie znam składni tego.) A jak działa filtr zapytań frazowych bez zapytania 'span_near' i bez zapytania' match_phrase'? – Ivaldi