次のクエリを実行して、プレーンなインデックスをリアルタイムに変換しようとしています。
ATTACH INDEX comment TO RTINDEX comment_rt;
しかし、sphinxql で実行すると、次のエラーが表示されます。
WARNING: sql_query_post[0]: error=Lost connection to MySQL server during query,
query=ATTACH INDEX comment TO RTINDEX comment_rt
私のスフィンクス構成:
source base
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = NastyBalls123
sql_db = telefind
sql_port = 3306 # optional, default is 9306
}
source comment : base
{
sql_query = \
SELECT id, content, thread_id, user_id, rank, level, \
UNIX_TIMESTAMP(date_time_added) AS date_time FROM comment
sql_attr_uint = id
sql_attr_uint = thread_id
sql_attr_uint = user_id
sql_attr_uint = rank
sql_attr_uint = level
sql_attr_timestamp = date_time
}
index comment
{
source = comment
charset_type = sbcs
path = /usr/local/sphinx/data/non_rt/comment
phrase_boundary_step = 0
index_sp = 0
stopword_step = 1
dict = crc
}
index comment_rt
{
type = rt
rt_mem_limit = 32M
path = /usr/local/sphinx/data/comment_rt
charset_type = utf-8
rt_field = title
rt_field = content
rt_attr_uint = group_id
rt_attr_timestamp = date_added
}
このページのスフィンクスのドキュメントでは、事前に次の設定を行う必要があると述べています。
- ターゲット RT インデックスは空である必要があります。
- ソース ディスク インデックスには、index_sp=0、boundary_step=0、stopword_step=1、dict=crc 設定が必要です。
- ソース ディスク インデックスには、空の index_zones 設定が必要です。