die Suche nach Namen (Text) mit Leerzeichen darin, was Problem zu mir, Ich habe Abbildung ähnlich wieSuche nach Namen (Text) mit Leerzeichen in Elasticsearch
"{"user":{"properties":{"name":{"type":"string"}}}}"
Im Idealfall, was es zurückgeben und Rang Ergebnisse soll wie folgt
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)
Beispiel für Namen in Elasticsearch folgenden
Maaz Tariq
Ahmed Maaz Tariq
Maaz Sheeba
Maaz Bin Tariq
Sana Tariq
Maaz Tariq Ahmed
Suche nach „Maaz Tariq“ sollten Ergebnisse
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)
in folgenden Reihenfolge sein Kann mich jemand zeigen, wie und welche zu verwenden Analysatoren? und wie ordnen Sie die Suchergebnisse für Namen ein?
würde ich bevorzugen eine filterbasierte Lösung, aber ich konnte den richtigen Filter für die 3. Anforderung nicht finden. – Ivaldi
Sie können nur eine Phrase Abfrage dafür machen. Außerdem verstehe ich nicht, warum Sie eine custom_boost_factor-Abfrage benötigen. Können Sie Ihren verschiedenen Anfragen nicht einfach ein anderes Gewicht geben, indem Sie die "Boost" -Option verwenden? – javanna
'Boost' ist in einer' sollte' Unterabfrage nicht erlaubt !? (Zumindest kenne ich die Syntax dafür nicht.) Und wie funktioniert ein Phrasenabfragefilter ohne die Abfrage 'span_near' und ohne die Abfrage' match_phrase'? – Ivaldi