我正在使用 SphinxQL 使用 Sphinx 搜索引擎开展项目。我的问题如下:
这是我的 sphinxql 查询:
"SELECT *, country FROM all_gebrauchte_products WHERE MATCH('@searchtext (".$searchQuery.")') AND country='".$where."' ORDER BY WEIGHT() DESC LIMIT ".$page.", ".$limit." OPTION ranker=expr('sum(lcs)')"
结果非常不同,例如:
Honda => 50 results
Honda CBR => 9 results
Honda CBR 1000 => 2 results
这是我的 MySQL 查询:
SELECT COUNT(*) FROM all_gebrauchte_products WHERE MATCH(gebr_id, gebr_hersteller, gebr_modell, gebr_ukat, gebr_kat, gebr_bemerkung) AGAINST ('".$searchQuery."' IN BOOLEAN MODE);
结果是:
Honda => 67 results
Honda CBR => 67 results
Honda CBR 1000 => 84 results
MySQL 查询在布尔模式下工作 - 因此对 Honda CBR 1000 的查询也会找到 Honda VTR 1000,我认为......
那么,接近第二个结果集的最佳搜索模式是什么?谁能解释我什么是完美模式以及如何(示例)以正确的方式编写 sphinxql 查询?
谢谢。提前...