概述
Solr是一個高性能拨扶,采用Java開發(fā)茁肠,基于Lucene的全文搜索服務器。同時對其進行了擴展垦梆,提供了比Lucene更為豐富的查詢語言匹颤,同時實現(xiàn)了可配置、可擴展并對查詢性能進行了優(yōu)化印蓖,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎赦肃。
工作方式
文檔通過Http利用XML 加到一個搜索集合中。查詢該集合也是通過http收到一個XML/JSON響應來實現(xiàn)温艇。它的主要特性包括:高效、靈活的緩存功能堕汞,垂直搜索功能勺爱,高亮顯示搜索結果,通過索引復制來提高可用性讯检,提供一套強大Data Schema來定義字段琐鲁,類型和設置文本分析,提供基于Web的管理界面等人灼。
需求場景
? 查詢和搜索围段,我們直接查詢數(shù)據(jù)庫MySQL。查詢數(shù)據(jù)庫主要有一些局限性:
比如多表查詢效率低投放,大文本字段不好建立索引和搜索奈泪,復雜的條件查詢和搜索功能不夠強大,或者說不夠簡單灸芳。
使用Solr的話涝桅,就很簡單地解決了以上問題。?
對于存儲在文件中的日志可以導入到solr中做分析烙样,
對于關系型數(shù)據(jù)庫里需要做全文搜索的字段可以導入到slor 中冯遂。
使用方法
為了方便的操作solr服務器,Apache為我們提供了solrJ工具谒获,我們可以通過solrJ對solr服務器進行創(chuàng)建索引蛤肌、更新、查詢批狱、處理返回值等操作裸准,它其實相當于solr服務器和我們程序進行數(shù)據(jù)通信的橋梁【停可創(chuàng)建多個集合使用java客戶端slorj進行操作狼速,進行文檔的增刪改查操作。