91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.34M
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2021-01-29
  • 語言: Java
  • 標簽: Lucene??實例??搜索??

資源簡介

lucene執行的兩個主要步驟如下

1、建立索引的執行過程 
     在建立索引時,先要把文檔存到索引庫中,還要更新詞匯表。
操作步驟如下:
(1)、把數據對象轉換成相應的Document,其中的屬性轉為Field;
(2)、調用工具IndexWriter的addDocument(doc),把Document添加到索引庫中;
(3)、Lucene做的操作:
       把文檔存到索引庫中,并自動指定一個內部編號,用來唯一標識這個條數據;內部編號類似與這條數據的地址,在索引庫內部的數據進行調整后,這個編號就可能會改變,同時詞匯表中的引用的編號也會做相應的改變,以保 證正確。
      更新詞匯表。把文本中的詞找出來放到詞匯表中,簡歷與文檔的對應關系。要把那些詞放到詞匯表中呢?這就用到一個叫Analyzer(分詞器)的工具。他的作用是把一段文本中的詞按照規則取出所包含的所有詞。對應的是Analyzer類,這是一個抽象類,切分詞的具體規則是由其子類實現。
 
在把對象的屬性轉化為 Field時,相關代碼為:
   doc.add(new Field(“title”,article.getTitle(), Store.YES, Index.Analyzed))
其中第三個參數的意思為
Store.NO 不存儲屬性的值;
Store.YES 存儲屬性的值
 
第四個參數
Index.NO 不建立索引
Index.ANALYZED 分詞后建立索引
Index.NOT_ANALYZED 不分詞,把整個內容作為一個詞建立索引
 
Store是影響搜索出的結構是否有指定屬性的原始內容。
Index是影響是否可以從這個屬性中查詢,或者是查詢時可以查其中的某些詞,還是要把整個內容作為一個詞進行查詢。
 
2、從索引庫中搜索的執行過程(QueryParse、TopDocs、ScoreDoc)
在進行搜索時,先在詞匯表中查找,得到符合條件的文檔編號列表。再根據文檔編號真正的取數據(Document)
操作步驟如下:
(1)、把要查詢字符串轉為Query對象。這就像在Hiberante總是用HQL查詢時,也要先調用Session.createQuery(hql)轉成Hibernate的Query對象一樣。把查詢字符串轉換成Query是使用QueryParser,或者使用MultiFieldQueryParser。查詢字符串也要先經過Analyzer(分詞器)。要求檢索時使用Analyzer要與監理索引使用的Analzyer要一致,否則可能搜索不出正確的結果。
(2)、調用IndexSearcher.search(),進行查詢,得到結果。此方法返回未TopDocs,是包含結果的多個信息的一個對象。其中有totalHits代表記錄數,ScoreDoc的數組。ScoreDoc是代表一個結果的相關度得分與文檔編號等信息的對象。
(3)、取出要用到的數據列表。調用IndexSearcher.doc(scoreDoc.doc)以取出指定編號對應的Document數據,在分頁時要用到:一次只取一頁的數據。

資源截圖

代碼片段和文件信息

/**
?*?文件名 :DataUtil.java
?*?創建日期 :2012-12-20
?*?Copyright?(c)?2003-2012?個人版權所有
?*?All?rights?reserved.
?*/
package?com.lucene.c01;

import?java.util.ArrayList;
import?java.util.Date;
import?java.util.List;

import?com.lucene.po.User;

/**
?*?生成測試數據
?*?
?*?@version?1.00
?*?@author?文超
?*?
?*/
public?class?DataUtil?{
/**
?*?檢索資源數據的準備;
?*???這里的數據可以來源數據庫、文件系統等
?*?@return
?*/
public?static?List?getUsers(){
List?list?=new?ArrayList();
User?user?=new?User(1L“張三1“20“man“new?Date());
list.add(user);
user?=new?User(2L“張三2“20“man“new?Date());
list.add(user);
user?=new?User(3L“張三3“20“woman“new?Date());
list.add(user);
user?=new?User(4L“張三4“20“man“new?Date());
list.add(user);
user?=new?User(5L“張三5“20“ma

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????962??2012-12-20?14:02??lucene\.classpath

?????文件???????1039??2012-12-20?13:50??lucene\.project

?????文件????????503??2012-12-20?13:50??lucene\.settings\.jsdtscope

?????文件????????395??2012-12-20?13:50??lucene\.settings\org.eclipse.jdt.core.prefs

?????文件????????523??2012-12-20?13:50??lucene\.settings\org.eclipse.wst.common.component

?????文件????????345??2012-12-20?13:50??lucene\.settings\org.eclipse.wst.common.project.facet.core.xml

?????文件?????????49??2012-12-20?13:50??lucene\.settings\org.eclipse.wst.jsdt.ui.superType.container

?????文件??????????6??2012-12-20?13:50??lucene\.settings\org.eclipse.wst.jsdt.ui.superType.name

?????文件???????1871??2012-12-20?15:47??lucene\build\classes\com\lucene\c01\DataUtil.class

?????文件???????4315??2012-12-20?16:02??lucene\build\classes\com\lucene\c01\IndexWriterDemo.class

?????文件???????2213??2012-12-20?15:20??lucene\build\classes\com\lucene\c01\TestIndexWriterFSDirectory.class

?????文件???????2110??2012-12-20?16:08??lucene\build\classes\com\lucene\c01\TestIndexWriterRAMDirectory.class

?????文件???????1560??2012-12-20?14:07??lucene\build\classes\com\lucene\po\User.class

?????文件???????1323??2012-12-20?15:47??lucene\src\com\lucene\c01\DataUtil.java

?????文件???????2305??2012-12-20?16:02??lucene\src\com\lucene\c01\IndexWriterDemo.java

?????文件???????1154??2012-12-20?14:07??lucene\src\com\lucene\po\User.java

?????文件???????1448??2012-12-20?15:20??lucene\test\com\lucene\c01\TestIndexWriterFSDirectory.java

?????文件???????1399??2012-12-20?16:08??lucene\test\com\lucene\c01\TestIndexWriterRAMDirectory.java

?????文件?????????39??2012-12-20?13:50??lucene\WebContent\meta-INF\MANIFEST.MF

?????文件????1537988??2012-12-20?13:54??lucene\WebContent\WEB-INF\lib\lucene-core-3.6.1.jar

?????文件????????711??2012-12-20?13:50??lucene\WebContent\WEB-INF\web.xml

?????目錄??????????0??2012-12-20?14:38??lucene\build\classes\com\lucene\c01

?????目錄??????????0??2012-12-20?14:05??lucene\build\classes\com\lucene\po

?????目錄??????????0??2012-12-20?14:05??lucene\build\classes\com\lucene

?????目錄??????????0??2012-12-20?14:07??lucene\src\com\lucene\c01

?????目錄??????????0??2012-12-20?14:05??lucene\src\com\lucene\po

?????目錄??????????0??2012-12-20?14:38??lucene\test\com\lucene\c01

?????目錄??????????0??2012-12-20?14:02??lucene\build\classes\com

?????目錄??????????0??2012-12-20?14:05??lucene\src\com\lucene

?????目錄??????????0??2012-12-20?14:02??lucene\test\com\lucene

............此處省略15個文件信息

評論

共有 條評論