こんにちは、Peter。
これは非常に興味深い問題ですね。解決策がリストにフィードバックされるのを見てみたいです。
おそらく最善のアプローチは、Solrに同梱されているicu4jライブラリを調べることです。これはsolrconfig.xmlで有効にする必要があります。少し説明がありますが、以下のリンクをご覧ください:
その後は、巨人の肩に立つということになります。実際のサポートを追跡するには、ICU4JはInternational Components for Unicodeの実装であり、Unicodeを実装しています。あなたが言及する言語をサポートしているようです:
これは、単語や文の境界(あなたが求めているものだと思います)がUnicodeに含まれており、したがってICUにも、ICU4jにも、Solrにも含まれていることを意味します。
これにより、有効な魔法の呼び出しに戻ります。具体的な呼び出しは、解決しようとしている検索問題の正確な内容と、言語/ロケールのコード/名前を理解することに依存します。
タイ語のテキストに対する音声検索のデモを行ったことがあります。非常に昔のことなので、コピー/ペーストはできませんが、依然として関連しています。以下は私のデモの抜粋です:
GitHub: solr-thai-test
<!--
インデックス作成時:
1) タイ語テキストを組み込みのルール+辞書でトークン化
2) 特殊なアクセントを付けてラテン文字にマッピング
3) トーンマークを削除(誰も使用しないため)
4) 英語での可能な代替スペリングに一致するために音声(BMF)広げを行う
クエリ時には、このフィールドタイプがタイ語のクエリと一致するのを望みません(BMFFはそれには少し積極的すぎます)。したがって、英語固有のクエリチェーンを使用します。
-->
<fieldType name="thai_english" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.ICUTokenizerFactory"/>
<filter class="solr.ICUTransformFilterFactory" id="Thai-Latin" />
<filter class="solr.ICUTransformFilterFactory" id="NFD; [:Nonspacing Mark:] Remove; NFC" />
<filter class="solr.BeiderMorseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.BeiderMorseFilterFactory" />
</analyzer>
</fieldType>
これがお役に立てば幸いです。
Alex
P.S. 進展があり、行き詰まってしまった場合は、直接連絡していただいても構いません。私はモントリオールに住んでおり、この質問には共感します。