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

    我就用本身的項目來說solr應用了,固然他的功能不少,你們能夠看這裏 http://my.oschina.net/fengnote/blog/288581 功能那是至關的多。數據庫

    solr能夠理解爲與應用分離的一個搜索服務,咱們要搭建應用+搜索服務的關聯配置實現部分業務。架構

    咱們的項目如今要改功能,一個內容發佈系統,作一個站內搜索,原有的框架是SSI的,只把查詢部分用solr來實現。
框架

問題是:
spa

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

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

    • 新增、修改、刪除文章/分類後要看到實時的更新數據索引

    • 分頁,多條件能夠實現嗎,個人數據須要二次處理(好比狀態要顯示中文)接口

這幾點都作到的話咱們之前用代碼查詢數據庫的部分就能夠用solr代替。開發

    分析問題:
文檔

        不改變原有架構,能夠查詢文章、分類,也就是solr中的多個索引,一個索引能夠作一個查詢, 多個索引可使用solr多核,後面會講怎麼配置。有些朋友常常聽到中文分詞,那麼他和solr有什麼聯繫嗎? solr不是國人開發的,咱們查詢的條件是中文的,因此加入中文分詞器就能夠對一句話進行分解,主流的分詞器有IKAnalyzer、mmseg4j、paoding等,各個版本的分詞器對應solr的配置又是各不相同的,後面講到配置再細說。多張表的查詢在solr裏是能夠用entity關聯的,相似於咱們寫關聯查詢,不過都是很easy的,寫配置文件就能夠了。當咱們新增或修改文章的時候在文章的表中加一個字段update_time,文章的最後更新時間,這個時間能夠用於和solr索引的最後一次更新時間進行比較,將全部在最後一次更新的時間以後的數據增量更新到索引中。刪除能夠用一個字段is_del來刪除索引中無用的文檔(solr裏的文檔至關於一張「」)

    總結:

    • solr的多核可以解決多個索引的查詢問題

    • solr的增量更新能解決實時顯示數據

    • 新版本基於RESTAPI的各類接口方便作查詢功能

相關文章
相關標籤/搜索