CONAN ZONE

          你越掙扎我就越興奮

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks
          原文:http://java.dzone.com/articles/lucene-solr-year-2011-review

          2011年已經(jīng)過去, 在這里針對本年lucene和solr領(lǐng)域發(fā)生的點點滴滴進(jìn)行一下回顧, 也算是對lucene和solr的一個盤點.

          lucene成為apache基金會項目已逾十年(實際上lucene存在的歷史已超過10年), solr 作為apache基金項目也差不多度過了六個春秋. 而這兩個項目的發(fā)展離不開Otis(http://twitter.com/otisg )的長期努力.

          在這一年里, solr和lucene發(fā)生了非常顯著的變化, 增加了大量新的功能, 而這個變化可以說超過以往任何一年.

          其中最激動人心的功能莫過于近實時搜索功能(Near Real-Time search http://search-lucene.com/?q=NRT )的實現(xiàn), 即對文檔的修改會立馬出現(xiàn)在搜索結(jié)果中. 雖然NRT依然還在繼續(xù)改進(jìn)中, 但是很多用戶已經(jīng)開始使用該功能.

          字段折疊(Field Collapsing http://wiki.apache.org/solr/FieldCollapsing ) 也是solr社區(qū)中長期以來期待的一個功能. 這個功能已在今年實現(xiàn). 現(xiàn)在solr和lucene用戶可以基于字段和查詢條件對結(jié)果集進(jìn)行進(jìn)行分組. 并實現(xiàn)了對分組進(jìn)行控制. 此外還可以基于分組進(jìn)行facet運(yùn)算(而以前只能基于文檔).

          在這一年, lucene也引入了faceting module(https://issues.apache.org/jira/browse/LUCENE-3079 ), 從此以后, facet將不再是solr的專利. lucene用戶可以進(jìn)行facet運(yùn)算了.

          從今年開始, 你可以通過使用Join module(http://wiki.apache.org/solr/Join ) 對父子關(guān)聯(lián)的文檔建索引, 這樣我們可以在查詢的過程中根據(jù)文檔索引將父子文檔進(jìn)行連接.

          2011年, 在多語言支持方面(http://wiki.apache.org/solr/LanguageAnalysis#Stemming ) ,solr和lucene也取得了重大突破: 加入了KStemFilter English stemmer(http://wiki.apache.org/solr/LanguageAnalysis#Notes_about_solr.KStemFilterFactory ) , 提供了對Unicode 4完整的支持, 增加了對中文和日文的支持, 增加了一個新的stemmer保護(hù)機(jī)制. 降低了synonym filter對內(nèi)存的消耗. 其中最大的一個增強(qiáng)是集成了Hunspell(http://wiki.apache.org/solr/LanguageAnalysis#Notes_about_solr.HunspellStemFilterFactory ), 這樣可以使用OpenOffice所支持的語言進(jìn)行stemming處理.

          lucene 3.5.0的發(fā)布, 大幅度的降低了term詞典的內(nèi)存消耗(在對term詞典處理時, 比以前減少了3~5倍).

          以前在使用lucene的時候, 如果對大數(shù)據(jù)量的搜索結(jié)果進(jìn)行分頁處理, 從頭翻到尾會出現(xiàn)問題. 而在lucene 3.5.0這個版本, 通過引入searchAfter方法進(jìn)行了徹底的解決.

          在這一年, lucene和solr提供了一個新的, 更高效, 更可靠的基于Term Vector的高亮功能.

          在這一年, solr集成了擴(kuò)展的Dismax查詢解析器(http://search-lucene.com/?q=Extended+Dismax ), 進(jìn)一步提高了搜索結(jié)果的質(zhì)量.

          這一年, 你可以使用函數(shù)(http://wiki.apache.org/solr/FunctionQuery#Sort_By_Function )對搜索結(jié)果進(jìn)行排序(比如根據(jù)某個值到指定點的距離進(jìn)行排序), 并且提供了一個新的根據(jù)空間搜索過濾器.

          solr也提供了一個新的, 基于FST機(jī)器人(可以顯著的降低內(nèi)存消耗)的suggest (http://wiki.apache.org/solr/Suggester )/自動完成搜索功能, 如果你對這個功能感興趣, 可以關(guān)注一下Sematext (http://sematext.com/products/autocomplete/index.html )提供的自動完成搜索功能.

          這里還需要提到的就是solr即將提供的新的事務(wù)日志(transaction log https://issues.apache.org/jira/browse/SOLR-2700 )支持, 該支持將實現(xiàn)實時返回(real-time get https://issues.apache.org/jira/browse/SOLR-2656 )的功能, 即在添加一個文檔之后你能立即根據(jù)id返回該文檔. 事務(wù)日志也將用于SolrCloud分布式節(jié)點的恢復(fù).

          說到SolrCloud(http://wiki.apache.org/solr/SolrCloud ) 這里(http://blog.sematext.com/2011/09/14/solr-digest-spring-summer-2011-part-2-solr-cloud-and-near-real-time-search/ )還有一篇介紹. 對于SolrCloud, 用一句話來概括, 就是運(yùn)用最新的設(shè)計原則并借助其他軟件模塊(比如zookeeper)更快速的搭建一套更強(qiáng)大solr分布式集群. 其核心思想就是拒絕單點故障, 采用中心化的集群和配置管理, 打破原有的master-slave架構(gòu), 做到容災(zāi)自動切換和動態(tài)調(diào)整.

          2010年將兩個項目的開發(fā)進(jìn)行整合之后, 這兩個項目的發(fā)展非常迅猛. 在2011年, lucene和solr在眾多committer們的大力支持下發(fā)布了5個版本. 三月, lucene和solr 3.1版本發(fā)布, 3個月后的6月4日, 3.2版本發(fā)布. 一個月之后, 7月1日, lucene和solr 3.3版本發(fā)布. 9月14日, 3.4版本發(fā)布, 11月, 3.5.0版本順利發(fā)布.

          在2011年, lucene和solr相關(guān)的會議也不少, 首先登場是是5月份在舊金山舉行的Lucene Revolution, otis在大會上做了題為"Search Analytics: What? Why? How?"(http://java.dzone.com/articles/lucene-solr-year-2011-review )的演講, 其他干貨猛擊這里 (http://lucenerevolution.com/2011/agenda ) . 在六月份的Buzzwords大會上, otis在大會上做了"Search Analytics: What? Why? How?"的升級版演講. 相關(guān)資料可參考官方網(wǎng)站: http://berlinbuzzwords.de . 10月份, 在巴塞羅那舉行了專門針對lucene和solr的 Lucene Eurocon 2011 大會. Otis 在大會上做了主題為"Search Analytics: Business Value & BigData NoSQL Backend"(http://www.lucidimagination.com/sites/default/files/file/Eurocon2011/otis_gospodnetic_search_analytics_lucene_eurocon_2011.ppt )的主題演講, 而Rafa?(http://twitter.com//kucrafal )在大會上做了"Explaining & Visualizing Solr 'explain' information"(http://www.lucidimagination.com/sites/default/files/file/Eurocon2011/Understanding%20and%20Visualizing%20Solr%20Explain%20information%20-%20Solr.pl%20-%20version%202.pdf )的演講.

          在2011年, lucene和solr又迎來了一批新的志同道合者:
          •Andi Vajda
          •Chris Male
          •Dawid Weiss
          •Erick Erickson
          •Jan Høydahl
          •Martin van Groningen
          •Stanis?aw Osiński

          對于一個成功的開源項目, 相關(guān)的圖書對使用者也是必不可少. 雖然今年Lucene in Action沒有推出新的版本, 但是Rafa? Ku?在今年7月給我們帶來了它的新作"Solr 3.1 Cookbook". 在該書中,  為解決solr的一些常見問題, Rafa?給出了他的答案. 而David Smiley 和 Eric Pugh在今年十一月推出了"Apache Solr 3 Enterprise Search Server"的新版本.

          至于2012年, lucene和solr會帶來什么新的驚喜, 讓我們拭目以待.
          posted on 2012-05-30 14:44 CONAN 閱讀(542) 評論(0)  編輯  收藏 所屬分類: Solr
          主站蜘蛛池模板: 横峰县| 义马市| 台江县| 石首市| 萨迦县| 济阳县| 通江县| 平舆县| 双鸭山市| 嘉定区| 南丹县| 宝鸡市| 孟连| 页游| 曲周县| 如东县| 邯郸市| 顺昌县| 新野县| 合肥市| 桦川县| 苏州市| 大同市| 育儿| 巫溪县| 巢湖市| 甘肃省| 宝兴县| 遂川县| 石景山区| 万宁市| 饶河县| 百色市| 丹阳市| 北海市| 阿荣旗| 始兴县| 特克斯县| 图们市| 洛川县| 贡山|