隨筆-54  評論-0  文章-2  trackbacks-0
               今天繼續講的是lucene的分詞器,湯兄先回顧了昨天的所學內容,很好。今天講了lucene的細節,比如分詞器和高亮器,以及高級搜索等功能的實現框架Compass,案例是傳智的貼吧搜索功能的實現,用的當然也是lucene

           

                                                全文檢索(Lucene)的深入

          分詞器:對文本資源進行切分,將文本按規則切 分為一個個可以進行索引的最小單位(關鍵詞)。

          某文檔中的一段文本,經過分詞后如下:

           

          1

          2

          3

          4

          5

          6

          7

          8

          9

          10

          11

          12

          13

          Internet

          采集

          信息

          軟件

          叫做

          爬蟲

          蜘蛛

           

          建立索引和進行搜索時都要用到分詞器。為了保證能正確的搜索到結果,在建立索引 與進行搜索時使用的分詞器應是同一個。

           

          全文檢索不區分大小寫

          對于中文分詞,通常有三種方式:單字分詞、二分法分詞、詞典分詞。

          最好的分詞器:詞庫分詞

            高亮器:

          1.作用:

            1.截取摘要(大小)

            2.高亮關鍵字(前綴 后綴)

          2.怎么用:

             過濾器 Filter

          RangeFilter,可以對搜索出來的結果進行過 濾。

           排序 sort

          Lucene的搜索結果默認按相關度排序的。所謂相關度,就是文檔的得分。Lucene有一個評分機制,就是對檢索結果按某種標準進行評估,然后按分值的高低來對結果進行排序。


          查詢對象

          TermQuery

           Term是查詢的最小單位,第一個參數是屬性,第 二個是要查詢的內容,下面的代碼的

          整個意思就是在title中查詢檢索

            Term term = new Term(“title”,”檢索”);

            Query query = new TermQuery(term);

           

          關鍵詞查詢RangeQuery

          范圍查詢WildcardQueryPhraseQuery

          短語查詢

          BooleanQuery

          public void add(Query query, Occur occur)

           

          Occur 用于表示布爾查詢子句關系的類,包括:

          Occur.MUSTOccur.MUST_NOTOccur.SHOULD

           

          1,  MUSTMUST:取得連個查詢子句的交集。

          2,  MUSTMUST_NOT:包含MUST并且查詢結果中不包含MUST_NOT的檢索結果。

          3,  SHOULDSHOULD,表示“或”關系,最終檢索結果為所有檢索子句的并集。


                                          Compass框架

          Lucene  + Hibernate

          Hibernate操作實現原理:

          主配置文件 hibernate.cfg.xml

                      1.連接信息

                               2.聲明映射文件

                      3.其他配置

          映射文件:.hbm.xml

                    對象

                          屬性

          同樣,Compass實現原理如圖:

          posted on 2010-01-31 23:35 d66380022 閱讀(286) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 周宁县| 乃东县| 台安县| 兴宁市| 全椒县| 洮南市| 宣化县| 来凤县| 镇原县| 阿拉善左旗| 精河县| 邹平县| 岑巩县| 略阳县| 乐都县| 礼泉县| 小金县| 汉中市| 鹤峰县| 海门市| 外汇| 两当县| 灌阳县| 石城县| 通州区| 石景山区| 汨罗市| 曲沃县| 咸阳市| 柳林县| 宣恩县| 长武县| 科技| 绍兴县| 五峰| 盘山县| 浮梁县| 新安县| 济宁市| 双牌县| 宾阳县|