Ich habe ein Problem mit einer elasticsearch Abfrage. Ich möchte in der Lage sein, die Ergebnisse zu sortieren, aber elasticsearch ignoriert das Sortier-Tag. Hier meine Anfrage:Elasticsearch sortiert die Ergebnisse nicht
Allerdings, wenn ich den Abfrageteil entfernen und ich sende nur das Sortier-Tag, funktioniert es. Kann mir jemand den richtigen Weg zeigen?
Ich habe auch versucht mit der folgenden Abfrage, die die vollständige Abfrage ist, die ich habe:
{
"sort": [{
"title": {"order": "asc"}
}],
"query":{
"bool":{
"should":[
{
"match":{
"title":{
"query":"Pagos",
"boost":9
}
}
},
{
"match":{
"description":{
"query":"Pagos",
"boost":5
}
}
},
{
"match":{
"keywords":{
"query":"Pagos",
"boost":3
}
}
},
{
"match":{
"owner":{
"query":"Pagos",
"boost":2
}
}
}
]
}
}
}
Einstellungen
{
"settings": {
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "ngram",
"min_gram": 3,
"max_gram": 15,
"token_chars": [
"letter",
"digit",
"punctuation",
"symbol"
]
}
},
"analyzer": {
"default" : {
"tokenizer" : "standard",
"filter" : ["standard", "lowercase", "asciifolding"]
},
"autocomplete": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding",
"autocomplete_filter"
]
}
}
}
}
}
Mappings
{
"objects": {
"properties": {
"id": { "type": "string", "index": "not_analyzed" },
"type": { "type": "string" },
"title": { "type": "string", "boost": 9, "analyzer": "autocomplete", "search_analyzer": "standard" },
"owner": { "type": "string", "boost": 2 },
"description": { "type": "string", "boost": 4 },
"keywords": { "type": "string", "boost": 1 }
}
}
}
Dank im Voraus!
Welche Ergebnisse erhalten Sie, und was erwarten Sie? Bitte zeigen Sie auch, wie Sie Ihre Anfrage senden (curl, Java, Python, Sense, etc)? – Val
Danke, ich benutze Python (http://elasticsearch-dsl.readthedocs.org/en/latest/). Das Problem ist, dass elasticsearch immer dieselben Ergebnisse liefert. Der Abfrageteil funktioniert einwandfrei, gibt jedoch die gleiche Liste für asc- und desc-Befehle zurück. –
Können Sie den verwendeten Python-Code anzeigen? – Val