我正在尝试在Mac中设置Sphinx搜索。
我已经完成了完整的安装,还为表格编制了索引。如果我尝试使用搜索,我会得到以下错误。
index 'jokes': search error: query too complex, not enough stack (thread_stack=197908K or higher required).
我在谷歌上搜索了thread_stack并增加了它的大小,但运气不佳。我多次重启狮身人面像。
下面是我的配置文件。
source src1
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = root
sql_db = searchj_jokes
sql_port = 3307
sql_query = SELECT entry_id, entry, picture_url,tags,date_added FROM jokes
}
index jokes
{
source = src1
path = indexes/jokes
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
charset_type = utf-8
html_strip = 0
}
source tags
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = root
sql_db = searchj_jokes
sql_port = 3307
sql_field_string = tag
sql_query = SELECT tag_id,tag FROM tags
}
index tagsIndex
{
source = tags
path = indexes/tagsIndex
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
charset_type = utf-8
html_strip = 0
}
indexer
{
mem_limit = 32M
}
searchd
{
listen = 3307
log = log/searchd.log
query_log = log/query.log
pid_file = log/searchd.pid
thread_stack = 8M
}
我在日志中也看不到任何错误。如果有人能帮我猜出可能是什么错误,那将是完全有帮助的。
我终于找到了答案。
在这里分享:
只需修改sphinx.conf并更改
sql_query_info = SELECT * FROM documents WHERE id=$id
进入
#sql_query_info = SELECT * FROM documents WHERE id=$id
然后重新启动搜索。
斯芬克search.com建议我避免使用命令行搜索工具和API。相反,他们建议我使用SphinxQL。以下内容对我有效,也可能对你有效。
- 启动searchd
- 从命令行发出如下查询:
mysql-h0-P9306-e"从笑话中选择匹配的*(‘chicken cross road’);显示meta;"