日本語と中国語のテキストだけでなく、他の言語のMySQL全文検索をしたいと思います。問題は、これらの言語やおそらく他の言語では通常単語間に空白がないことです。テキストと同じ文章を入力する必要がある場合、検索は便利ではありません。単語間にスペースを含まない言語で単語が区切られます(アジアなど)?
英語は動作しなければならないので、すべての文字の間にスペースを入れることはできません。私はPHPやMySQLでこの問題を解決したいと思います。
独自のインデックス作成単位である文字を認識するようにMySQLを設定できますか?これらの文字を認識できるPHPモジュールがあるので、インデックスの周りにスペースを置くことができますか?
更新
部分的な解決策:
$string_with_spaces =
preg_replace("/[".json_decode('"\u4e00"')."-".json_decode('"\uface"')."]/",
" $0 ", $string_without_spaces);
これは私が特別扱いする必要がある文字のうちの少なくともいくつかのうち、文字クラスになります。私はおそらく言及すべきです、それはインデックスされたテキストを書き留めることは容認されます。
スペースを挿入する必要がある文字の範囲を知っている人はいますか?
また、PHPでこれらの文字を表現するには、より優れた移植可能な方法が必要ですか?リテラルUnicodeのソースコードは理想的ではありません。私はすべての文字を認識しません。彼らは私が使用しなければならないすべてのマシン上でレンダリングしないかもしれません。上述の言語のために破壊
単語の間にスペースを使用しない他の近代的な言語はタイ、ラオス、クメール(カンボジア)、およびビルマ(ミャンマー)です。ベトナム語では、外国語以外のすべての音節の間にスペースが使用されるという関連する問題があります。 – hippietrail