【Lucene01】索引的建立&Luke的配置使用

原创 2016年08月29日 20:02:09

在Lucene对文本进行处理的过程中,可以大致分为三大部分:

1、索引文件:提取文档内容并分析,生成索引

2、搜索内容:搜索索引内容,根据搜索关键字得出搜索结果

3、分析内容:对搜索词汇进行分析,生成Quey对象。

索引文件

基本步骤如下:

1、创建索引库IndexWriter

2、根据文件创建文档Document

3、向索引库中写入文档内容

package org.algorithm;

import java.io.File;
import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.StringField;
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;

/*
 * lucene索引的建立
 * */
public class IndexFiles {

    //创建索引库IndexWriter
    public static IndexWriter getIndexWriter(String indexPath) throws IOException{
        Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40);
        Directory dir = FSDirectory.open(new File(indexPath));

        IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_40, analyzer);
        IndexWriter writer = new IndexWriter(dir, config);
        return writer;
    }

    //根据文件创建文档Document
    public static void index(IndexWriter writer) throws IOException{
        Document doc = new Document();

        //向索引库中写入文档内容
        doc.add(new StringField("id", "1",Store.YES));
        doc.add(new StringField("name", "lina", Store.YES));
        doc.add(new StringField("content", "love you", Store.YES));

        writer.addDocument(doc);//添加进写入流里
        writer.forceMerge(1);//优化压缩段,大规模添加数据的时候才使用
        writer.commit();//提交数据
        System.out.println("索引添加成功!");
    }

    public static void main(String[] args) throws IOException {
        String indexPath = "E:/LucenePath";
        IndexWriter writer = getIndexWriter(indexPath);
        index(writer);
    }

}

Luke查看Lucene索引:

1、Luke的使用
下载Luke,这里下载的是lukeall-4.0.0.jar
使用方法:

下载完luke后直接放在某个盘符下然后可以在cmd窗口找到luke工具所在的盘符根路径下,使用 java -jar luke.jar 就可以启动了,有的luke工具直接双击运行就可以启动,使用时候两种方式都可以试一下,启动之后,点击Browser按钮,找到你的索引路径点OK,即可显示你索引的内容。

这里写图片描述

这里写图片描述

这里写图片描述

overview界面是用来进行索引的一般性查看和操作的,比如索引目录,域信息,版本,term信息,Rank排名等信息。注意,索引文件里Analyze却不Store的字段信息还是不可见的,也就是只能看STORE了的内容。

documents界面是用来进行文档的操作和查看的,能根据文档编号和词进行查找,其实这个就是搜索功能。
这里写图片描述

search界面是可以进行索引的搜索测试,可以编写lucene搜索语句,看到语句解析后的query树,还可以选择进行搜索的分词器、默认字段和重复搜索次数,然后下面的listview中就会列出一个搜索的的文档的所有保存的(store)字段的值,可以看到查询花费的时间。
这里写图片描述

file界面,故名思义,这个就是用来查看每个索引相关文件的一些属性的界面,具体的话,可以通过这个界面分析下索引文件的多少,是否需要优化或者合并等等
这里写图片描述

plugins界面,就是可以看到luke提供的各种插件。比较有用的还是分词工具,提供一个分词的类,然后下面文本框输入一段文本,然后就可以让这个工具帮你分词,你可以看到详细的分词信息,对自定义分词器的调试或者测试。还有一个hadoop插件,支持从hadoop节点中获取节点中文件的相关信息,对分布式搜索引擎搭建有用,算是支持多平台的lucene索引文件块的查看。
这里写图片描述

最后,还可以将lukeall-4.0.0.jar导入到ecplise中,查看源码进行分析其功能特点。

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

 1  Lucen目录介绍 2  lucene-core-3.6.2.jar是lucene开发核心jar包    contrib  目录存放,包含一些扩展jar包 ...
  • toto1297488504
  • toto1297488504
  • 2014年12月07日 23:39
  • 2961

Luke安装与使用

Luke安装与使用2009年05月31日 星期日 00:361 Luke简介       Luke是一个方便宜的开发和诊断工具,它能访问Lucene建立好的索引同时也允许以如下的一些方式展示和修改内容...
  • super_marioli
  • super_marioli
  • 2010年06月18日 14:04
  • 3824

lucene的第十一篇——Lucene与数据库结合案例

Lucene+hibernate 开发:
  • m15517986455
  • m15517986455
  • 2018年01月06日 10:20
  • 49

lucene开发必备工具luke介绍

原文地址: 做lucene开发的,免不了要和索引文件打交道,但是一些二进制的文件我们怎么去看,下面就要隆重的有请luke了 根据百度百科的说法:Luke是一个用于Lucene搜...
  • xiaogugood
  • xiaogugood
  • 2013年07月18日 10:20
  • 1797

[Nutch]使用LUKE查看Solr的索引文件内容

上一篇博文有介绍使用Solr的命令solrindex建立索引并提交到Solr服务器,那么我们怎么样查看solrindex命令产生的索引内容呢?这就要使用本篇博文要分享的工具LUKE,通过LUKE工具,...
  • Kandy_Ye
  • Kandy_Ye
  • 2016年05月07日 17:21
  • 2415

luke使用

转自:http://hi.baidu.com/thinke365/blog/item/3ea7b859453b738b800a18d1.html 首次用Luke打开索引文件。Overview里面显示...
  • An342647823
  • An342647823
  • 2011年12月08日 15:52
  • 4976

Lucene的学习第七篇——Lucene开发的lukeall的使用

入门代码的再学习后,前面的内容应该明白,理解80%以上,这里介绍lukeall的使用。Lukeall就是lucene开发必备的,lukeall我从两个方面介绍: 1:lukeall是什么? 2:l...
  • m15517986455
  • m15517986455
  • 2018年01月04日 00:10
  • 116

【Lucene教程】Luke

一、Luke基本内容 注意Luke版本需要与Lucene对应 1、Luke简介 Luke可用于查看Lucene创建的索引,并对其进行基本操作。 2、创建Luke (1)从Github...
  • yangzongzhuan
  • yangzongzhuan
  • 2014年12月09日 21:43
  • 691

Luke:Lucene索引查看工具

Luke介绍 Luke是一个方便的索引查看和诊断工具,可以访问Lucene构建的索引文件,显示和修改某些索引内容。能提供: 通过document编号或term浏览索引查看document内...
  • zbf8441372
  • zbf8441372
  • 2013年01月12日 15:13
  • 8702

Luke - Lucene Index Toolbox 各个版本下载地址

https://github.com/DmitryKey/luke/releases
  • JavaMoo
  • JavaMoo
  • 2017年06月07日 18:17
  • 562
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Lucene01】索引的建立&Luke的配置使用
举报原因:
原因补充:

(最多只允许输入30个字)