一步一步學solr:在開始前我們應該明白什麼

來源:互聯網
上載者:User

標籤:style   blog   http   color   使用   os   

    我就用自己的項目來講solr應用了,當然他的功能很多,大家可以看這裡 http://my.oschina.net/fengnote/blog/288581 功能那是相當的多。

    solr可以理解為與應用分離的一個搜尋服務,我們要搭建應用+搜尋服務的關聯配置實現部分業務。

    我們的項目現在要改功能,一個內容發布系統,做一個站內搜尋,原有的架構是SSI的,只把查詢部分用solr來實現。

問題是:

    • 我要查詢一篇文章關聯到N張表

    • 我除了查詢文章還要查詢分類(也用solr實現)

    • 新增、修改、刪除文章/分類後要看到即時的更新資料

    • 分頁,多條件可以實現嗎,我的資料需要二次處理(比如狀態要顯示中文)

這幾點都做到的話我們以前用代碼查詢資料庫的部分就可以用solr代替。

    分析問題:

        不改變原有架構,可以查詢文章、分類,也就是solr中的多個索引,一個索引可以做一個查詢, 多個索引可以使用solr多核,後面會講怎麼配置。有些朋友經常聽到中文分詞,那麼他和solr有什麼聯絡嗎? solr不是國人開發的,我們查詢的條件是中文的,所以加入中文分詞器就可以對一句話進行分解,主流的分詞器有IKAnalyzer、mmseg4j、paoding等,各個版本的分詞器對應solr的配置又是各不相同的,後面講到配置再細說。多張表的查詢在solr裡是可以用entity關聯的,類似於我們寫關聯查詢,不過都是很easy的,寫設定檔就可以了。當我們新增或修改文章的時候在文章的表中加一個欄位update_time,文章的最後更新時間,這個時間可以用於和solr索引的最後一次更新時間進行比較,將所有在最後一次更新的時間之後的資料累加式更新到索引中。刪除可以用一個欄位is_del來刪除索引中無用的文檔(solr裡的文檔相當於一張“表”)

    總結:

    • solr的多核能夠解決多個索引的查詢問題

    • solr的累加式更新能解決即時顯示資料

    • 新版本基於RESTAPI的各種介面方便做查詢功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.