Lucene入门之创建索引

             创建索引

 创建索引的基本方式

   创建索引的过程

1,  建立索引器IndexWriter

2,  建立文档对象Document

3,  建立信息字段对象Field

4,  Field添加到Document里面

5,  Document添加到IndexWriter

6,  关闭IndexWriter

   创建Field

     Field field=new Field(Field名称,Field内容,存储方式,索引方式)

     参数的含义:

     Field名称:就是Field起的名字,类似数据表的字段名称

     Field内容:Field的内容,类似数据表的字段内容

     存储方式:

不存储

Field.Store.No

索引太大的情况,不利于效率,如正文

完全存储

Field.Store.Yes

索引不太大的情况,如标题

压缩存储

Field.Store.Compress

索引内容较多的情况,如正文

     索引方式:

索引方式

理解

应用

Field.Index.No

不索引

只需要跟着搜索结果显示出来却不需要按照其内容进行搜索

Field.Index.TOKENIZED

索引并分词

适合模糊搜索,如标题,全文

Field.Index.NO_NORMS

索引但不分析

 

Field.Index.UN_TOKENIZED

索引但不分词

适合精确搜索

 

   创建Document

    Document doc=new Document()

  创建一个不含有任何Field的空的Document.

   添加Field

    doc.add(field);

   创建Index Writer

     IndexWriter writer=new IndexWriter(存放索引的路径,分析器的实例);

     IndexWriter writer=new IndexWriter(“myindex”,new CJKAnalyzer());

    添加Document

    Writer.addDocument(doc);

    关闭索引器

     Writer.close();

 创建索引实例

简单索引:SimpleIndexer

 

package example.example;

 

import org.apache.lucene.document.Document;

import org.apache.lucene.document.Field;

import org.apache.lucene.index.IndexWriter;

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

 

 

public class SimpleIndexer

{

         public static void main(String[] args) throws java.io.IOException

         {

                   //指定索引存放路径

                   String indexPath = "./myindex";

                  

                   //创建索引实例

                   IndexWriter writer = new IndexWriter(indexPath,new StandardAnalyzer());        

                           

                   //创建Document

                   Document doc = new Document();

                           

                   //创建Field

                   String title = "Hello Lucene World";

                   Field field = new Field("title",title ,Field.Store.YES, Field.Index.TOKENIZED);

                   //添加 field

                   doc.add(field);

                                    

                   //创建Field

                   String content = "lucene is a kind of open source tool to make us easy to search the world";

                   field = new Field("content", content ,Field.Store.YES, Field.Index.TOKENIZED);

                   //添加 field

                   doc.add(field);

                                              

                   //添加 document

                   writer.addDocument(doc);

        

                   //关闭 IndexWriter

                   writer.close();

                  

                   //message

                   System.out.println("成功建立索引!");

         }       

}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值