Ich verwende elastische Suche Version 2.x. Und ich habe zwei Datensätze, die als indiziert werden:Elastische Suche Sortieren und Ranking
- Bad Wandfliese (als „Nickname“ indizierte Dokument Spalte)
- Fliesen Wand Badezimmer (als „Nickname“ indexierte Spalte Dokument)
Wenn Ich versuche, nach dem Ausdruck zu suchen "Kachel Wand Badezimmer" idealerweise sollte zweitens zuerst erscheinen, weil das genau passt und danach wird zuerst erscheinen, weil alle 3 Wörter übereinstimmt (Kachel, Wand und Bad).
Ich sortiere in meiner Abfrage basierend auf Spalten. Unten ist meine elastische Suchabfrage:
{
"query" : {
"filtered" : {
"query" : {
"query_string": {
"query": "*tile wall bathroom*",
"fields": [
"nickname",
"comments",
"category_name",
"subcategory_name",
"document_name",
"web_links",
"document_extension",
"property_name",
"document_content"
],
"analyze_wildcard": true
}
},
"filter" : {
"and" : [
{"term" : {"property_id" : "6"}}
]
}
}
},
"size": 10,
"sort": ["nickname", "comments", "web_links", "document_name"]
}
Als Referenz finden Sie bitte angehängtes Bild.
Vielen Dank im Voraus !!!
Danke Dominik. Kannst du mir bitte schreiben, was du erklärst. Ich habe versucht, "_scrore" -Feld zuerst zu setzen, aber es zeigt das gleiche Ergebnis. –
Danke Chocomesli. Aber diese Abfrage funktioniert überhaupt nicht. –
Haben Sie die Explain-API getestet? – chocomuesli