solr 對拼音搜尋和拼音首字母搜尋的支援

2021-09-01 08:25:49 字數 591 閱讀 5461

對於拼音和拼音首字母的支援,當你在搜商品的時候,如果想輸入拼音和拼音首字母就給出商品的資訊,怎麼辦呢?

實現方式有2種,但是他們其實是對應的。

1.用lucene實現。

1.建索引, 多建乙個索引字段,即拼音和拼音首字母這2個字段。合併的乙個字段。

(拼音和拼音首字母,可以通過pinyin4j.jar。將想要進行拼音搜尋的字段進行拼音轉換。)

2.對輸入的引數判斷是否是拼音,(可以通過將傳人的值轉換為 utf-8 形式,如果轉換後的字串長度大於原來的字串的長度,那麼就不是拼音。否則就進行拼音查詢)

3.對拼音索引那個字段進行查詢,和中文查詢一樣。參考中文查詢。

2.solr實現。

1.solr實現,不可以用solr自帶的功能建索引,那樣做無法將拼音和拼音首字母這個字段放入到索引檔案中。

2.想要將拼音放到索引檔案庫中,即需要從資料庫取資料,然後將資料轉換成拼音,再將拼音放入到索引庫中。(用自動建索引的時候是通過db-config.xml檔案進行的對資料庫的查詢。所以無法對查詢得到的字段進行拼音轉換。)。以上功能用solrj進行實現。solrj提供對solr的一些擴充套件。

3.對拼音字段進行查詢,和中文查詢一樣。

漢字轉拼音首字母

public string hz2py string hz 獲得漢字的區位碼 else if tmp 45253 tmp 45760 else if tmp 47761 tmp 46317 else if tmp 46318 tmp 46825 else if tmp 46826 tmp 47009...

獲取漢字拼音首字母

有個專案需要用到生成漢字的首字母,但從網上查了一下,對於多音字的處理都不是很好,所以就利用pinyin4j這個工具包自己寫了乙個。用到的jar包是pinyin4j 2.5.0.jar 獲取拼音首字母,多音字用逗號隔開 public static string getfirstspell string...

MySQL拼音首字母查詢

最近乙個專案中有個模組需要實現拼音首字母查詢功能,網上查了一下資料,自己重新修改整理了一下,使其滿足專案的要求。實現過程如下 1.建立乙個獲取中英文大寫首字母函式 html view plain copy drop function if exists get first pinyin char c...