程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> sphinx的匹配模式概述

sphinx的匹配模式概述

編輯:PHP基礎知識
 

$cl->SetMatchMode(SPH_MATCH_ALL);

全文搜索的匹配模式:

SPH_MATCH_ALL 匹配所有查詢詞(默認模式). SPH_MATCH_ANY 匹配查詢詞中的任意一個. SPH_MATCH_PHRASE 將整個查詢看作一個詞組,要求按順序完整匹配. SPH_MATCH_BOOLEAN 將查詢看作一個布爾表達式. SPH_MATCH_EXTENDED 將查詢看作一個Sphinx內部查詢語言的表達式. SPH_MATCH_FULLSCAN 使用完全掃描,忽略查詢詞匯. SPH_MATCH_EXTENDED2 類似 SPH_MATCH_EXTENDED ,並支持評分和權重.

感覺搜索結果還是比較郁悶! 比如搜:寶馬汽車  如果用SPH_MATCH_ALL模式的話 ‘寶馬BMW-北京燕寶集團
’ 這些記錄居然搜不出來!!!如果用SPH_MATCH_ANY模式的話,應該可以出來 但是前面的都是 ‘汽車’關鍵字的(如:汽車防爆膜的選購與養護),跟 ‘寶馬汽車 ’ 相關的都不知排到哪裡去了!! 這樣的結果 完全不是我想要的!!

下面的幾種模式,也一一試過,沒一個的結果讓我滿意的,sphinx的全文搜索…難道真的那麼雞肋!?,或者是我使用方法有問題??

回頭看了一下,

$cl->SetSortMode(SPH_SORT_RELEVANCE); 這個設置成默認的按相關度排序(我之前是按時間倒序排了..),效果會好一點點 但是結果還是不能滿意·····

Sorting modes     SPH_SORT_RELEVANCE Sort by relevance in descending order (best matches first). SPH_SORT_ATTR_DESC Sort by an attribute in descending order (bigger attribute values first). SPH_SORT_ATTR_ASC Sort by an attribute in ascending order (smaller attribute values first). SPH_SORT_TIME_SEGMENTS Sort by time segments (last hour/day/week/month) in descending order, and then by relevance in descending order. SPH_SORT_EXTENDED Sort by SQL-like combination of columns in ASC/DESC order. SPH_SORT_EXPR Sort by an arithmetic expression.

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved