Ich habe den folgenden Ausdruck: „noapte bună“ und ich versuche, das gleiche Ergebnis zu erhalten, wenn ich für „bună“ oder „Buna“ bin auf der Suche.Elasticsearch Abfrage mit diakritischen Zeichen/Akzenten in PHP
Ich habe gefolgt hier Tutorial: https://www.elastic.co/guide/en/elasticsearch/guide/current/asciifolding-token-filter.html aber zu keinem Ergebnis.
Dies ist mein Code:
$params = ['index' => 'asciiv3', 'body' => [
"settings" => [
"analysis" => [
"analyzer" => [
"folding" => [
"tokenizer" => "standard",
"filter" => [ "lowercase", "asciifolding" ]
]
]
]
],
"mappings" => [
"asciiv3" => [
"properties" => [
"saying" => [
"type" => "string",
"analyzer" => "standard",
"fields" => [
"folded" => [
"type" => "string",
"analyzer" => "folding"
]
]
]
]
]
]
]];
self::$instance->indices()->create($params);
und dies ist die Abfrage-Array:
'multi_match' =>
array(
"type" => "most_fields",
"query" => "bună",
"fields" => [ "saying", "saying.folded" ]
)
Weiß jemand, was ich falsch mache?
Dass man für mich funktioniert. –