私はこのような何かを示唆:
"analysis": {
"analyzer": {
"my_trim_keyword_analyzer": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"trim",
"generate_tokens",
"eliminate_tokens",
"remove_empty"
]
}
},
"filter": {
"eliminate_tokens": {
"pattern": "^(?!abc)\\w+$",
"type": "pattern_replace",
"replacement": ""
},
"generate_tokens": {
"type": "pattern_capture",
"preserve_original": 1,
"patterns": [
"(([a-z]+)(\\d*))"
]
},
"remove_empty": {
"type": "stop",
"stopwords": [""]
}
}
}
あなたのトークンがpattern_capture
フィルタの結果であるならば、あなたは1は基本的にトークンドンと一致する私の例ではeliminate_tokens
と呼ばれるこのフィルタの後に追加する必要があるだろうabc
で始まります。一致しないものは、空の文字列("replacement": ""
)に置き換えられます。
この後、空のトークンを削除するために、私はremove_empty
フィルタを追加しました。これは基本的にstop
フィルタで、ストップワードは""
(空文字列)です。
正規表現は簡単です - 'abc。*'。 –