lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理
          簡(jiǎn)介
          Doug Cutting 于2000年開(kāi)始的項(xiàng)目 2001年9月后加入apache, Lucene是Doug Cutting的middle name 。 目前Lucene已經(jīng)是apache的top level的項(xiàng)目, 已經(jīng)不在jakarta下面, 同時(shí)也有了python,perl,c++,.net, Ruby(進(jìn)行中)多個(gè)版本?
          Lucene 主要的兩個(gè)任務(wù):indexing and searching
          Indexing主要使用的類
          IndexWriterindex文件由它創(chuàng)建
          Directory標(biāo)志Index路徑的類:FSDirectory(文件系統(tǒng))和RAMDirectory(內(nèi)存)
          Analyzer分析器,處理分詞,大小寫(xiě),詞根,消除stop words等,轉(zhuǎn)換格式
          document用于存儲(chǔ)field對(duì)象
          Field有4(5?)種類型的Field, 下面專門(mén)列出

          stop words: 出現(xiàn)頻率非常高的一些詞匯,它們一般沒(méi)有檢索的意義, 比如英文中的(as a, an, the, in)
          類型AnalyzedIndexedStored說(shuō)明
          Field.Keyword(String)?YY儲(chǔ)存直接檢索的對(duì)象(身份證號(hào),姓名,日期)
          Field.UnIndexed(String,String)??Y不用于檢索信息,顯示文件類型、地址
          Field.UnStored(String,String)Y??大段文本內(nèi)容,會(huì)用來(lái)檢索,但是不存儲(chǔ)
          Field.Text(String,String)YYY檢索,獲取都需要的內(nèi)容,直接放index中,不過(guò)這樣會(huì)增大index
          Field.Text(String,Reader)YY?建議采用Unstored的策略.

          Searching主要使用的類
          IndexSearcher以只讀的方式訪問(wèn)index(注意IndexReader不是只讀的),需要傳給他一個(gè)Query對(duì)象來(lái)搜索
          TermTerm是一個(gè)搜索的基本單位,包含F(xiàn)ield(目標(biāo))和value(條件),可以直接用new Term("field","value")構(gòu)造
          ueryuery有很多子類,比如BooleanQuery,PhraseQuery等,可以在Term基礎(chǔ)上加上邏輯(是 否, 或)
          TermQuery很基本的Query, 可以由term構(gòu)造 new TermQuery(term);
          Hits包含了搜索的結(jié)構(gòu),默認(rèn)按照相關(guān)度排序,hits并不會(huì)把所有記錄(可能很大)直接保存,而是有一個(gè)lazy loading機(jī)制


          Lyyb2001
          主站蜘蛛池模板: 北海市| 尼勒克县| 滦平县| 锦州市| 黄浦区| 调兵山市| 满城县| 济南市| 巴南区| SHOW| 舒城县| 通山县| 师宗县| 云林县| 商都县| 扬中市| 陵川县| 宁夏| 阿鲁科尔沁旗| 封丘县| 宜春市| 灵丘县| 甘孜县| 玉溪市| 南昌县| 桐乡市| 宣汉县| 鹤山市| 伊吾县| 丹棱县| 武邑县| 建德市| 且末县| 翼城县| 上饶市| 闽清县| 闽侯县| 瓦房店市| 内乡县| 唐河县| 双桥区|