2

プロジェクトでsphinxを使用したいのですが、RTインデックスとsphinxQLを使用したいのですが、ワイルドカードクエリを使用できません。誰か提案がありますか?

これが私のsphinx.confです:index testrt

{
    type                    = rt
    path                    = /usr/local/sphinx/var/data/testrt
    charset_type            = utf-8
    min_infix_len           = 1
    enable_star             = 1
    rt_field                = name
    rt_attr_string          = game

}

INSERT:
insert into testrt values(1,'sphinx','sphinx');

クエリOK、影響を受ける1行(0.02秒)

mysql> select * from testrt;

+ ------ + -------- + -------- + | id | 重量| ゲーム| + ------ + -------- + -------- + | 1 | 1 | スフィンクス| + ------ + -------- + -------- + 1行セット(0.01秒)

mysql> select * from testrt where match('sphinx');

+ ------ + -------- + -------- + | id | 重量| ゲーム| + ------ + -------- + -------- + | 1 | 1500 | スフィンクス| + ------ + -------- + -------- + 1行セット(0.00秒)

 mysql> select * from testrt where match('sphin*');

空集合(0.00秒)

 mysql> select * from testrt where match('sphin\\*');

空集合(0.02秒)

よろしくお願いします。ありがとうございます!

4

1 に答える 1

0

rt インデックスでプレフィックス マッチングを行うには、dict=keywords が必要です。

http://sphinxsearch.com/docs/2.0.4/conf-dict.html

現在サポートされているのはプレフィックス検索のみであり、rt インデックスでは infix は機能しないことに注意してください。

于 2012-06-18T13:49:18.953 に答える