我正在使用獅身人面像2.0。在獅身人面像中自定義排序/按特定字段的匹配距離排序結果
我想達到以下結果:
- 用戶將與其他搜索字詞輸入標籤,用戶輸入的標籤相關聯的文檔應該來在上面,按距離排序。
- 之後,文件不包含按距離排序的標籤。
我在做什麼:
我不同的參數在同一時間使用像@name,@tag,@streetname etc.so搜索我使用下面
$cl->SetMatchMode(SPH_MATCH_EXTENDED);
並按距離排序結果使用$cl->SetSortMode(SPH_SORT_EXTENDED, '@geodist asc');
標記字段可以包含多個值我usin g OR運算符以獲得期望的結果。
如果我只搜索@tags,那麼我能夠達到我提到的要求。但如果用戶輸入的是@tag食品|晚餐@城市倫敦@name出租車
然後結果與名稱:倫敦出租車,街道:倫敦出現在頂部或其他一些位置打破排序順序經緯度。因爲倫敦有兩個參數。我只是想按標籤排序,不想在排序順序中包含其他搜索詞的權重。
排序模式時:$cl->setRankingMode(SPH_RANK_PROXIMITY_BM25);
任何建議,以解決這個問題?或任何其他方式來實現它。
很多謝謝。