Das ist möglich, aber Sie müssen einen edgeNGram
Suchanalysator in Ihren Indexeinstellungen erstellen.
Erstellen Sie zuerst die Einstellungen wie folgt. Das Feld name
wird mit dem Analysator standard
indiziert, aber stattdessen mit dem benutzerdefinierten Analysator prefix_search
gesucht.
PUT test
{
"settings": {
"analysis": {
"analyzer": {
"prefix_search": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"prefix"
]
}
},
"filter": {
"prefix": {
"type": "edgeNGram",
"min_gram": 1,
"max_gram": 10
}
}
}
},
"mappings": {
"doc": {
"properties": {
"name": {
"type": "string",
"analyzer": "standard",
"search_analyzer": "prefix_search"
}
}
}
}
}
Dann, wenn Sie ein Dokument wie folgt zu erstellen:
PUT test/doc/1
{
"name": "Jos"
}
Sie es mit einer Abfrage wie diese finden:
POST /test/doc/_search
{
"query": {
"match": {
"name": "Joseph"
}
}
}
Ja, das ist möglich. Haben Sie gerade bestimmte Analysatoreinstellungen in Ihrem Index? Wenn ja, können Sie sie teilen? – Val
haben wir noch nichts besonderes hinzugefügt, wir haben gestern unsere Dokumente mit NEST indexiert. – montewhizdoh