使用Mongodb的搜尋拼音自動補全方案

2022-04-09 12:34:45 字數 751 閱讀 3480

搜尋的自動提示功能能給使用者帶來很好的搜尋體驗,由於中文的特點,如果搜尋自動提示可以支援拼音的話會給使用者帶來更大的方便,免得切換輸入法。目前大多數的電子商務**都支援拼音提示功能。

關於多音字

由於中文存在多音字問題(讀音,聲調),例如 調的讀音有diao;tiao 長的讀音有chang;zhang 所以對於乙個詞語如果用程式組合可能有多個組合,比如美的空調有4中組合:meidikongtiao;meidikongdiao; meidekongtiao;meidekongdiao 如何處理這中問題要做到精確第一需要有拼音庫還要分詞,這種處理難度較大,第二種就是把所有可能組合在一起,這樣的缺點是乙個詞彙組合太多(階乘);提示結果不準確。

大多數電子商務**都採用第二種方案:例如 洗衣機 洗字有xian 和xi 兩種讀音。

****:

卓越:京東:

sqlserver還是mongodb

如果使用sql server這樣的關係型資料庫 需要見兩張表一張數提示詞一張表是對應的讀音,這樣不管儲存還是讀取都相對比較麻煩,同時這種查詢數次較高(使用者每輸入乙個字元都要查詢資料庫)對sql server 造成不必要的浪費。

mongodb是一種非關係型的文件資料庫,開源,免費,具有易於使用,效率高等特點,儲存是json格式,強大的查詢功能(陣列和正規表示式的支援)。

比如 美的空調 可以儲存為

查選也很方便,例如我們使用者輸入xian,我們的查選語句就是這樣的:

查詢結果為:

****於部落格園 作者microcoder

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

對於拼音和拼音首字母的支援,當你在搜商品的時候,如果想輸入拼音和拼音首字母就給出商品的資訊,怎麼辦呢?實現方式有2種,但是他們其實是對應的。1.用lucene實現。1.建索引,多建乙個索引字段,即拼音和拼音首字母這2個字段。合併的乙個字段。拼音和拼音首字母,可以通過pinyin4j.jar。將想要進...

Mongodb中 inc自增,自減的操作

在mongodb資料庫中 inc的作用大致可以理解為自增和自減,類似於其c語言中count 1或者count 1。但是兩者之間還是有很大的區別,這裡我們不仔細 在乙個陣列或者內嵌文件中指定乙個的時候可以使用點號 這個例項是用python mongodb 實現的 首先在本地資料庫建立乙個集合 然後執行...

solr5 X版本的拼音搜尋

經過幾天的研究終於搞定了solr的拼音搜尋,現在把經驗分享給大家!一 首先需要準備3個jar包,pinyinanalyzer4.3.1.jar pinyin4j 2.5.0.jar lucene analyzers smartcn 5.2.1.jar 將這三個jar包放到 二 在managed sc...