こんにちは、LegalOn Technologiesでエンジニアをしている神田(@kampersanda)です。
この記事の内容
Elasticsearch の Character Filter でユニコード正規化を適用したとき、Tokenizer の結果によってはトークンのオフセットに不正な値が入るバグが報告されています。
頻繁に起こるケースでは無いのですが、実際にデータを Elasticsearch に取り込む際に発生しており、恒久的な対応が必要です。本記事では、そのバグの内容と原因を説明し、その Workaround を提案します。
本記事で想定する Lucene/Elasticsearch のバージョンは以下です。
- Lucene: 9.8.0
- Elasticsearch: 8.11.1
本記事は、Elasticsearch の基本的な使い方(リクエストの投げ方など)はある程度知っている前提で記述します。
追記(2024-06-02):この内容は Search Engineering Tech Talk 2024 Spring で発表しました。その際のスライドを以下に公開しました。
続きを読む