Yii 如何使用部分词在Sphinx结果中搜索?

Yii 如何使用部分词在Sphinx结果中搜索?,yii,sphinx,Yii,Sphinx,我有一个表单,当我输入一个值时,我希望在提交时得到结果 如果我搜索fish并且我有一个fishing值,我希望获得包含fish值的所有数据 在我的代码中,只有输入完整的fishingword,我才能得到所需的结果 我在寻找完整的表达,也在寻找表达中的每个词 $sphinx_search = Yii::app()->search; $sphinx_search->setSelect('*'); $sphinx_search_final = '';

我有一个表单,当我输入一个值时,我希望在提交时得到结果

如果我搜索
fish
并且我有一个
fishing
值,我希望获得包含
fish
值的所有数据

在我的代码中,只有输入完整的
fishing
word,我才能得到所需的结果


我在寻找完整的表达,也在寻找表达中的每个词

$sphinx_search = Yii::app()->search;
        $sphinx_search->setSelect('*');

        $sphinx_search_final = '';

        $sphinx_search_query = trim($this->q);
        if (strlen($sphinx_search_query) > 0) {
            $sphinx_search_query = str_replace('-', ' ', $sphinx_search_query);
            $keys = explode(' ', $sphinx_search_query);
            foreach ($keys as $k => $key) {
                if ($key) {
                    $keys[$k] = $key;
                } else {
                    unset($keys[$k]);
                }
            }
            if (count($keys) > 0) {
                $sphinx_search_final = ' @(position_name,employer_name,employer_first_name,employer_last_name,employer_position) ' . $sphinx_search_query .
                        ' @(position_name,employer_name,employer_first_name,employer_last_name,employer_position) ' . implode('|', $keys);
            }
        }
启用或 获取显式子字符串匹配能力

也要检查,因为这会改变它的行为



或者,你要找的是词干?通过启用“我正在搜索完整表达式以及表达式中的每个单词;”为什么?如果匹配第一个表达式,则匹配第二个表达式。如果它不匹配第一个,而匹配第二个,它仍然不会显示,因为它需要匹配两个。额外的合规性是毫无意义的。就我所知,这是没有用的。