SphinxQL 请求类似于 SQL 中的 LIKE

SphinxQL request similar to LIKE in SQL

我想知道我得到了以下请求的不同结果:

SphinxQL:

SELECT ticket_id FROM message WHERE MATCH('*test*') LIMIT 0, 100000 OPTION max_matches = 100000

结果是 221 行

SQL:

SELECT * FROM `ticket_logs` WHERE message LIKE '%test%'

结果是 321 行

SphinxQL 请求应该是什么才能获得与 SQL-请求(321 行)相同的结果。

顺便说一句:Sphinx索引的代码是下一个:

source ticket_logs
{
    type            = mysql
    sql_host        = localhost
    sql_user        = root
    sql_pass        = 
    sql_db          = test_db
    sql_port        = 3306
    sql_query_pre   = SET NAMES utf8
}

source messages : ticket_logs
{   
    sql_query = \
        SELECT id, ticket_id, message FROM ticket_logs

    sql_field_string = ticket_id
    sql_field_string = message
}

index message
{
    source          = messages
    path            = c:/sphinx/data/index/message
}

searchd
{
    listen          = 9306:mysql41
    pid_file        = c:/sphinx/data/searchd.pid
    log             = c:/sphinx/data/log/searchd.log
    query_log       = c:/sphinx/data/log/query.log
    binlog_path     = c:/sphinx/data/binlog/
}

您似乎没有在配置中定义 min_infix_len

http://sphinxsearch.com/docs/current.html#conf-min-infix-len

...您需要它来显式启用 'wildcard' 查询。

这会给你更接近的结果。