Elasticsearch bei Abfrage mit dem folgenden gibt keine Ergebnisse zurück.Elasticsearch query_string Suche mit Platzhalter verwenden
{
"query":{
"filtered":{
"query":{
"bool":{
"should":[
{
"query_string":{
"query":"a*",
"analyze_wildcard":true
}
}
]
}
}
}
}
}
Als ich "al *" anstelle von "a *" verwenden, erhalte ich die richtigen Ergebnisse. Dies geschieht nur für "a *". Wenn ich irgendwelche andere wie „b *“ verwenden oder „c *“ usw. sind die Ergebnisse richtige
I Elasticsearch Version 0.90.12
Vielen Dank für Ihre Antwort. Können Sie bitte erläutern, wie "a. *" In der obigen Abfrage sucht. Ich habe eine Aufzeichnung "A. J. Satya" und es wird nicht zurückgegeben, wenn mit "a. *" In der obigen Abfrage durchsucht wird. – tungri
Das Problem ist, dass bei der Indizierung der Wert "A. J. Satya wird als Token 'j' und' satya' in Token umgewandelt, weil 'a' ein englisches Stoppwort ist und verworfen wird. Wahrscheinlich müssen Sie das Analysegerät, das Sie verwenden, auch zum Zeitpunkt der Indexierung ändern. – Val
Danke für die Erklärung. – tungri