我正在尝试使用codeigniter和规则来执行全文搜索。我的问题是Doctrine只对整个单词执行搜索。
例如,我正在搜索“山”,我得到的每一个条目都有“山”这个词。但是如果我搜索"mount",我什么也得不到。
发布于 2012-03-15 20:53:48
我在Symfony 1.4和Doctrine 1.2的可搜索行为上遇到了同样的问题,并遇到了这个问题。然后我发现你可以添加通配符(?或*)添加到适用于单词的搜索项。在你的例子中,"mount*“与mountain匹配。在我的例子中,我将其应用于每个搜索词,并对用户隐藏它。
$results = $table->search('*'.$search_string.'*');希望这对某些人有帮助!
-编辑--
上面的帖子有点仓促...这对于单个单词的查询非常有效,但对于多个部分单词再次失败。像这样的东西应该能更好地工作:
$actual_search_string = '*'.implode('* *', explode(' ', $search_string)).'*';
$results = $table->search($actual_search_string);https://stackoverflow.com/questions/6947962
复制相似问题