ラテン語とロシア語の翻訳による通常の検索(!)
$ search sumka
using config file '/etc/sphinx/sphinx.conf'...
index 'test1': query 'sumka ': returned 636 matches of 636 total in 0.000 sec
displaying matches:
1. document=154143, weight=1660, name=Сумка Sony LCS-MS10 Gray Alpha Текстильная сумка для фотокамеры Alpha Серый цвет, casual style (сумка почтальона) [LCSMS10H.AE], description_short=Сумка Sony LCS-MS10 Gray Alpha Текстильная сумка для фотокамеры Alpha Серый цвет, casual style (сумка почтальона) [LCSMS10H.AE]
...
$ search сумка
using config file '/etc/sphinx/sphinx.conf'...
index 'test1': query 'сумка ': returned 0 matches of 0 total in 0.000 sec
words:
1. 'сумка': 0 documents, 0 hits
ここでは文字セットの問題のように聞こえますが、mysql とクエリに utf8 があります
mysql> show variables like "character%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like "collation%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
$ file words
words: UTF-8 Unicode text
$ cat words | search --stdin
using config file '/etc/sphinx/sphinx.conf'...
index 'test1': query 'сумка
': returned 0 matches of 0 total in 0.000 sec
words:
1. 'сумка': 0 documents, 0 hits
これは、php クライアントと sphinx mysql のようなクライアントにも当てはまります。
完全なスフィンクス構成はこちらですが、重要な部分の引用:
source src1
{
...
sql_query_pre = SET NAMES utf8
sql_query_pre = SET CHARACTER SET utf8
...
}
index test1
{
...
charset_type = utf-8
...
}
同様の問題が 1 つだけ見つかりましたが、db に latin1 charset がありました。
プログラムのバージョンは次のとおりです。
mysql Ver 14.14 Distrib 5.5.20, for Linux (x86_64) using readline 5.1
Sphinx 2.0.6-id64-release (r3473)
centos 5.8
アップデート
http://sphinxsearch.com/wiki/doku.php?id=charset_tables#cyrillicのテーブルを使用して構成に charset_table を追加しますが、それでもうまくいきません。
また、Sphinx 2.0.5-release (r3308) をローカルの gentoo にインストールしました。これは、すぐに使用できるキリル文字クエリで動作します。