Sphinx搜索错误:查询太复杂,堆栈不足


Sphinx search error: query too complex, not enough stack

我正在尝试在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。以下内容对我有效,也可能对你有效。

  1. 启动searchd
  2. 从命令行发出如下查询:
    mysql-h0-P9306-e"从笑话中选择匹配的*(‘chicken cross road’);显示meta;"