0
簡単な実験として、Elasticsearch 2.2を使用して、小文字の "s"で終わる単語の最後の文字を削除します。たとえば、「音」という単語は「音」として索引付けされます。Elasticsearch - 単語の最後からsを削除する方法
私はこのような私のアナライザを定義しています:
{
"template": "document-index-template",
"settings": {
"number_of_shards": 1,
"analysis": {
"filter": {
"sFilter": {
"type": "pattern_replace",
"pattern": "([a-zA-Z]+)([s](|$))",
"replacement": "$2"
}
},
"analyzer": {
"tight": {
"type": "standard",
"filter": [
"sFilter",
"lowercase"
]
}
}
}
}
}
私はこの要求を使用して用語 "沈黙の音" を分析する際次に:
<index>/_analyze?analyzer=tight&text=sounds%20of%20silences
を私が手:
{
"tokens": [
{
"token": "sounds",
"start_offset": 0,
"end_offset": 6,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "of",
"start_offset": 7,
"end_offset": 9,
"type": "<ALPHANUM>",
"position": 1
},
{
"token": "silences",
"start_offset": 10,
"end_offset": 18,
"type": "<ALPHANUM>",
"position": 2
}
]
}
"サウンド"が "サウンド"で、 "サイレンス"が "無音"であると期待しています
あなたは学術目的のためか、実用のためにこれをやっています言語分析?より良い英語のトークン処理をしようとするなら、そのための[アナライザ](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-snowball-analyzer.html)があります。 –