Solr(またはLucene)を使用して検索エンジンをセットアップしようとしています。これは、ラテン語のテキストと特殊文字(特殊文字には例としてÖまたはÇが含まれます)またはキリル文字(例にはБまたはбおよびЖжが含まれます)の両方を持つことができます。 。
とにかく、私はこれらの文字が含まれている単語を検索できるようにするための解決策を見つけようとしていますが、キーボードにキーがないユーザーのために...
例は次のようになります(ここで単語を作成し、うまくいけば誰も怒らせないでしょう):
- 「本」を検索すると「BÖÖK」が見つかります
- XRAYを検索すると「ЖRAY」が見つかります
- 「ЖRAY」は、ZRAY、ZHRAY、またはžrayを検索する場合にも表示されます(CylricからLatin Charへの音訳については、 GOST 16876-71を参照してください)。
だから、私はこれについてどうやって行くべきですか?私が持っているいくつかの理論は次のとおりです。
- 元の文字列ごとに複数のテキストフィールドを格納できるようにします。1つは元の形式、1つは音訳の最初のパス(たとえば、ÖをOに、Жをžに変換します)、次に1つを3番目の形式(žからzまたはzhへ)->は、大量のデータを保存することを意味します。
- solrにそのまま保存し、Solrに魔法をかけてもらいます->これがどれだけうまく機能するかわかりません...これを行うためにsolrに何も表示されません
- まだ見つけていない魔法の弾丸...
何か案は?誰かが以前にこれを試しましたか?