0

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 も検出すると思います...

では、2 番目の結果セットに近づくには、どの検索モードが最適でしょうか? 完璧なモードとは何か、sphinxql クエリを正しい方法で記述する方法 (例) を誰かに説明してもらえますか?

サンクス。あらかじめ...

4

1 に答える 1