日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

2.Lucene3.6.2包介绍,第一个Lucene案例介绍,查看索引信息的工具lukeall介绍,Luke查看的索引库内容,索引查找过程

發(fā)布時間:2024/9/27 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.Lucene3.6.2包介绍,第一个Lucene案例介绍,查看索引信息的工具lukeall介绍,Luke查看的索引库内容,索引查找过程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


1??Lucen目錄介紹

2? lucene-core-3.6.2.jarlucene開發(fā)核心jar

?? contrib? 目錄存放,包含一些擴展jar

3? 案例

建立第一個Lucene項目:lucene3_day1

?? 1)需要先將數(shù)據(jù)轉(zhuǎn)換成為Document對象,每一個數(shù)據(jù)信息轉(zhuǎn)換成為Field(String name, String value, Field.Store store, Field.Indexindex)

?? 2)指定索引庫位置Directorydirectory = FSDirectory.open(new File("index"));// 當前Index目錄

?? 3)分詞器Analyzeranalyzer = new StandardAnalyzer(Version.LUCENE_36);

?? 4)寫入索引:

IndexWriterConfig indexWriterConfig = new IndexWriterConfig(

??????????? Version.LUCENE_36, analyzer);

IndexWriter indexWriter = new IndexWriter(directory,indexWriterConfig);

?????

//document數(shù)據(jù)寫入索引庫

indexWriter.addDocument(document);

//關(guān)閉索引

indexWriter.close();

案例編寫:

案例目錄:

Article.java

package cn.toto.lucene.quickstart;

?

public class Article {

?? private int id;

?? private String title;

?? private String content;

?? /**

?? ?* @return the id

?? ?*/

?? public int getId() {

????? return id;

?? }

?? /**

?? ?* @param id the id to set

?? ?*/

?? public void setId(int id) {

????? this.id = id;

?? }

?? /**

?? ?* @return the title

?? ?*/

?? public String getTitle() {

????? return title;

?? }

?? /**

?? ?* @param title the title to set

?? ?*/

?? public void setTitle(String title) {

????? this.title = title;

?? }

?? /**

?? ?* @return the content

?? ?*/

?? public String getContent() {

????? return content;

?? }

?? /**

?? ?* @param content the content to set

?? ?*/

?? public void setContent(String content) {

????? this.content = content;

?? }

}

package cn.toto.lucene.quickstart;

?

import java.io.File;

?

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.analysis.standard.StandardAnalyzer;

import org.apache.lucene.document.Document;

import org.apache.lucene.document.Field;

import org.apache.lucene.document.Field.Index;

import org.apache.lucene.document.Field.Store;

import org.apache.lucene.index.IndexWriter;

import org.apache.lucene.index.IndexWriterConfig;

import org.apache.lucene.store.Directory;

import org.apache.lucene.store.FSDirectory;

import org.apache.lucene.util.Version;

import org.junit.Test;

?

/**

?* @brief LuceneTest.java 測試Lucene的案例

?* @attention

?* @author toto-pc

?* @date 2014-12-7

?* @note begin modify by 涂作權(quán) 2014/12/07 null

?*/

public class LuceneTest {

?? @Test

?? public void buildIndex() throws Exception {

????? Article article = new Article();

????? article.setId(100);

????? article.setTitle("Lucene快速入門");

????? article.setContent("Lucene是提供了一個簡單卻強大的應(yīng)用程式接口,"

??????????? + "能夠做全文檢索索引和搜尋,在Java開發(fā)環(huán)境里Lucene" +

??????????? "一個成熟的免費的開放源代碼工具。");

?

????? // 將索引數(shù)據(jù)轉(zhuǎn)換成為Document對象(Lucene要求)

????? Document document = new Document();

????? document.add(new Field("id", // 字段

??????????? article.getId() + "", Store.YES, // 是否建立索引

??????????? Index.ANALYZED // 表示使用分詞索引

????? ));

????? document.add(new Field("title", article.getTitle(), Store.YES,Index.ANALYZED));

????? document.add(new Field("content", article.getContent(), Store.YES, Index.ANALYZED));

?

????? // 建立索引庫

????? // 索引目錄位置

????? Directory directory = FSDirectory.open(new File("index"));// 當前Index目錄

????? // 分詞器

????? Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);

????? // 寫入索引

????? IndexWriterConfig indexWriterConfig = new IndexWriterConfig(

??????????? Version.LUCENE_36, analyzer);

????? IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);

?

????? // document數(shù)據(jù)寫入索引庫

????? indexWriter.addDocument(document);

????? // 關(guān)閉索引

????? indexWriter.close();

?? }

}

運行單元測試后的結(jié)果:

運行后index目錄下的結(jié)果:

4 ?可以通過luke工具查看索引庫中內(nèi)容(它是一個jar包)

下載網(wǎng)址:http://code.google.com/p/luke/

打開方式:

如果用這種方式打不可以,可以用命令的方式打開文件,進入這個目錄,選中Shift+鼠標右鍵—>此處打開命令窗口—>輸入命令:java -jar lukeall-3.5.0.jar

工具的截圖如下:

點擊OK后的結(jié)果:

通過overview可以查看到索引信息,通過Document可以查看文檔對象信息

5? 查找

和上面的并集的query代碼如下:

@Test

public void searchIndex() throws Exception

{

?? //建立Query對象--根據(jù)標題

?? String queryString = "Lucene";

?? //第一個參數(shù),版本號

?? //第二個參數(shù),字段

?? //第三個參數(shù),分詞器

?? Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);

?? QueryParser queryParser = new QueryParser(Version.LUCENE_36,"title",analyzer);

??? Query query = queryParser.parse(queryString);

?? ???

??? //根據(jù)Query查找

??? // 索引目錄位置

?? Directory directory = FSDirectory.open(new File("index"));

??? IndexSearcher indexSearcher = new IndexSearcher(IndexReader.open(directory));

?? //查詢滿足結(jié)果的前100條數(shù)據(jù)

?? TopDocs topDocs = indexSearcher.search(query, 100);

??? System.out.println("滿足結(jié)果記錄條數(shù):" + topDocs.totalHits);

?? ???

??? //獲取結(jié)果

??? ScoreDoc[] scoreDocs = topDocs.scoreDocs;

??? for (int i = 0; i < scoreDocs.length; i++) {

????? //先獲得Document下標

??? ?? int docID = scoreDocs[i].doc;

??? ?? Document document = indexSearcher.doc(docID);

??? ?? System.out.println("id:" + document.get("id"));

??? ?? System.out.println("title:" + document.get("title"));

??? ?? System.out.println("content:" + document.get("content"));

?? }

?

??? indexSearcher.close();

}

運行結(jié)果:

?

  • ?Luke查看的索引庫內(nèi)容:

  • 索引庫中信息,包括兩大部分:

    A 索引詞條信息

    B 文檔對象信息

  • ?每個Field中都存在一個Store和一個Index

  • ?索引內(nèi)容和Document內(nèi)容有什么關(guān)系

  • 查找時,通過索引內(nèi)容? 查找? 文檔對象信息

    ?

  • 索引的查找過程

  • ?

    總結(jié)

    以上是生活随笔為你收集整理的2.Lucene3.6.2包介绍,第一个Lucene案例介绍,查看索引信息的工具lukeall介绍,Luke查看的索引库内容,索引查找过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久草综合在线 | 老熟女高潮一区二区三区 | 国产乱码精品一区二三赶尸艳谈 | 99国产在线观看 | 色就是色欧美色图 | 午夜日韩 | 久久久精品中文字幕麻豆发布 | 日韩不卡视频一区二区 | 日韩高清在线观看一区 | 99久久精品国产成人一区二区 | 超碰福利在线观看 | 国产精品2 | 久久这里有 | 97超碰人人草| 亚洲精品www久久久久久 | 国产一级黄 | 精品久久久久久久久中文字幕 | 欧美极品少妇xxxxⅹ免费视频 | 欧洲美女毛片 | 亚洲欧洲日韩国产 | 青草青草视频 | 精品视频一区二区三区 | 久久看av | 香港三级日本三级 | 日日舔夜夜操 | 中文字幕成人在线 | 国产精品看片 | 在线国产视频 | 亚洲综合少妇 | 国产免费福利视频 | 午夜视频观看 | 欧美激情自拍偷拍 | 亚洲高清视频一区二区 | 天天色播 | 福利视频一区 | 国产一区二区久久精品 | 亚洲国产成人久久 | 在线观看国产亚洲 | 狠狠天天 | 狠狠干影院 | 狠狠干精品 | 噜噜色图 | 欧美精品在线观看视频 | 天天碰免费视频 | 国产一级大片在线观看 | 9999国产精品 | 一本大道av伊人久久综合 | 青青草精品视频 | 亚洲午夜视频在线观看 | 欧美日韩色片 | 日韩av手机在线播放 | 日本一区二区三区免费看 | 高清久久久久久 | 麻豆av导航| 91蝌蚪视频在线 | 麻豆视频一区 | 日韩一区二区在线播放 | 欧美日本二区 | 欧美 日韩 国产 在线 | 中文二区 | 色视频综合 | 宅男午夜在线 | 久久久久久色 | 另类视频一区 | 国产真实夫妇交换视频 | 91精品在线免费 | 国产美女无遮挡免费 | 日本特级黄色大片 | 在线观看欧美日韩 | 亚洲精品久久久久久动漫器材一区 | 久热精品在线观看视频 | 啪啪网站视频 | 日韩欧美精品一区二区 | 粉嫩av.com | 韩国av一区二区三区 | 国产精品久久一区二区三区 | 欧美日韩一卡二卡三卡 | 国产又粗又猛又爽又黄的视频小说 | 中国一级黄色大片 | 成人亚洲天堂 | 蜜桃导航-精品导航 | 日本精品入口免费视频 | 青草福利视频 | 久草中文在线观看 | 日韩视频免费观看高清完整版在线观看 | 18p在线观看 | 九九色综合网 | 天堂网一区二区三区 | 野外吮她的花蒂高h在线观看 | 成人免费一区二区三区在线观看 | 免费无码国产v片在线观看 三级全黄做爰在线观看 | 双性人bbww欧美双性 | 中文字幕日韩一区二区三区不卡 | 正在播放亚洲 | 瑟瑟视频在线 | 成年人小视频在线观看 | 精品国产无码一区二区三区 | 饥渴放荡受np公车奶牛 | 亚洲a级精品 |