0
喜歡
我想我得到了以下要求的不同的結果:SphinxQL要求類似於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行)相同的結果。
BTW:斯芬克斯指數的代碼是下一個:
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 = 1,結果變得更加接近,但仍然不理想。我通過獅身人面像獲得了315行,通過MySQL獲得了321條。是否有任何選項可以使結果更相似? –
另一個請求的結果是下一個:(sphinxQL)從消息匹配('*長列表*')限制0,300000選項max_matches = 300000消息中選擇ticket_id;返回1369行。 (SQL)SELECT * FROM'ticket_logs' WHERE message LIKE'%Long List%';返回了1001個結果。 –
對於第一個評論,它可能類似於整理,mysql可能正在整理查詢(例如,所以e匹配或類似)。獅身人面像在默認情況下並不這樣做。做一些更多的調查,以找出究竟哪些行是不同的 – barryhunter