sphinx全文搜索列过滤

时间:2014-12-01 15:43:49

标签: php mysql sql indexing sphinx

我正在尝试搜索“pagetitle”或“内容”列,搜索词“短语”AND 列“class_key”===“modDocument”。

目前没有返回任何内容

PHP

$sphinx = new SphinxClient();
$sphinx->setMatchMode(SPH_MATCH_EXTENDED2);
$query = $sphinx->Query('"phrase" @class_key modDocument', 'myIndex');

如果我从查询中取出“@class_key modDocument”,我会得到结果

sphinx.conf中

source myIndex : src {

    sql_query_range = SELECT MIN(id), MAX(id) FROM tx3nh_site_content
    sql_query = SELECT id, pagetitle, content FROM tx3nh_site_content WHERE id>=$start AND id<=$end

}

index myIndex {

    source = myIndex
    path = /home/sphinx/data/myIndex
    min_word_len = 3
    min_infix_len = 3

}

1 个答案:

答案 0 :(得分:0)

 sql_query = SELECT id, pagetitle, content FROM ...

没有列出名为class_key的列!

您需要将列添加到sql_query,以便sphinx获取数据以便将其包含在索引中!