日本語検索での利用を検討しており、こちらのTECH+連載記事の例を試してみました。
すると以下のような結果となり、記事中の結果とは若干異なっておりました。(助詞の除外や特殊文字の変換などでしょうか?)
なお検証において利用した環境は以下です。
- FESS: 13.13.1(RPMパッケージよりインストール)
- Elasticsearch: 7.13.0(RPMパッケージよりインストール)
※なおアナライザの設定ファイル(/usr/share/fess/app/WEB-INF/classes/fess_indices/fess.json
には手を加えておりません。
記事ではFESS12.1.2の例ですが、FESS13.13.1ではjapanese_analyzerの挙動に変更があるのでしょうか?
私の設定不備の可能性もありますので、皆さまの環境で再現するのか/原因として考えられること等ご意見いただけますと幸いです。
$ curl -XGET 'localhost:9200/fess.search/_analyze?pretty' -H 'Content-Type: application/json' -d'
{
"analyzer" : "japanese_analyzer",
"text" : "東京スカイツリーの①番出口"
}'
{
"tokens": [
{
"token": "東京",
"start_offset": 0,
"end_offset": 2,
"type": "word",
"position": 0
},
{
"token": "スカイ",
"start_offset": 2,
"end_offset": 5,
"type": "word",
"position": 1
},
{
"token": "ツリー",
"start_offset": 5,
"end_offset": 8,
"type": "word",
"position": 2
},
{
"token": "の",
"start_offset": 8,
"end_offset": 9,
"type": "word",
"position": 3
},
{
"token": "1",
"start_offset": 9,
"end_offset": 9,
"type": "word",
"position": 4
},
{
"token": " ",
"start_offset": 9,
"end_offset": 10,
"type": "word",
"position": 5
},
{
"token": "番",
"start_offset": 10,
"end_offset": 11,
"type": "word",
"position": 6
},
{
"token": "出口",
"start_offset": 11,
"end_offset": 13,
"type": "word",
"position": 7
}
]
}