ich dies auf einem lokalen 1.7.5 Elasticsearch Installation bin versuchtElasticsearch Schindel Token Filter funktioniert nicht
http://localhost:9200/_analyze?filter=shingle&tokenizer=keyword&text=alkis stack
Ich sehe das
{
"tokens":[
{
"token":"alkis stack",
"start_offset":0,
"end_offset":11,
"type":"word",
"position":1
}
]
}
Und ich erwartete etwas wie dieses
zu sehen{
"tokens":[
{
"token":"alkis stack",
"start_offset":0,
"end_offset":11,
"type":"word",
"position":1
},
{
"token":"stack alkis",
"start_offset":0,
"end_offset":11,
"type":"word",
"position":1
}
]
}
Fehle ich etwas?
aktualisiert
{
"number_of_shards": 2,
"number_of_replicas": 0,
"analysis": {
"char_filter": {
"map_special_chars": {
"type": "mapping",
"mappings": [
"- => \\u0020",
". => \\u0020",
"? => \\u0020",
", => \\u0020",
"` => \\u0020",
"' => \\u0020",
"\" => \\u0020"
]
}
},
"filter": {
"permutate_fullname": {
"type": "shingle",
"max_shingle_size": 4,
"min_shingle_size": 2,
"output_unigrams": true,
"token_separator": " ",
"filler_token": "_"
}
},
"analyzer": {
"fullname_analyzer_search": {
"char_filter": [
"map_special_chars"
],
"filter": [
"asciifolding",
"lowercase",
"trim"
],
"type": "custom",
"tokenizer": "keyword"
},
"fullname_analyzer_index": {
"char_filter": [
"map_special_chars"
],
"filter": [
"asciifolding",
"lowercase",
"trim",
"permutate_fullname"
],
"type": "custom",
"tokenizer": "keyword"
}
}
}
}
Und ich versuche, wie dieser
http://localhost:9200/INDEX_NAME/_analyze?analyzer=fullname_analyzer_index&text=alkis stack
Nein, es funktioniert wie erwartet. Und mit 'keyword' werden die beiden Begriffe btw nicht geteilt. Was willst du aber erreichen? –
Ich postete den gesamten Analysator. Ich möchte ein Feld (Fullname) normalisieren und Permutationen machen, um am Ende eine unscharfe Suche zu machen. Grundsätzlich möchte ich 'Andrei Stefan' nehmen und es normalisieren. Dann machen Sie Permutationen 'andrei stefan' und' stefan andrei'. – alkis
Der Grund, warum ich Schlüsselwort anstelle von Standard oder Leerzeichen verwende, ist, weil ich den gesamten vollständigen Namen als ein Token behalten möchte. Aber wenn die Permutationen erstellt werden, muss ich Whitespace verwenden, was tatsächlich konfiguriert ist. – alkis