05Lucene索引库的添加

简介: 05Lucene索引库的添加

步骤

向索引库中添加document对象。

第一步:先创建一个indexwriter对象

第二步:创建一个document对象

第三步:把document对象写入索引库

第四步:关闭indexwriter。

代码实现

//添加索引
  @Test
  public void addDocument() throws Exception {
    //索引库存放路径
    Directory directory = FSDirectory.open(new File("D:\\temp\\0108\\index"));
    IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, new IKAnalyzer());
    //创建一个indexwriter对象
    IndexWriter indexWriter = new IndexWriter(directory, config);
    //创建一个Document对象
    Document document = new Document();
    //向document对象中添加域。
    //不同的document可以有不同的域,同一个document可以有相同的域。
    document.add(new TextField("filename", "新添加的文档", Store.YES));
    document.add(new TextField("content", "新添加的文档的内容", Store.NO));
    document.add(new TextField("content", "新添加的文档的内容第二个content", Store.YES));
    document.add(new TextField("content1", "新添加的文档的内容要能看到", Store.YES));
    //添加文档到索引库
    indexWriter.addDocument(document);
    //关闭indexwriter
    indexWriter.close();
  }

Field域的属性

是否分析: 是否对域的内容进行分词处理。前提是我们要对域的内容进行查询。

是否索引: 将Field分析后的词或整个Field值进行索引,只有索引方可搜索到。

比如:商品名称、商品简介分析后进行索引,订单号、身份证号不用分析但也要索引,这些将来都要作为查询条件。

是否存储: 将Field值存储在文档中,存储在文档中的Field才可以从Document中获取

比如:商品名称、订单号,凡是将来要从Document中获取的Field都要存储。

是否存储的标准:是否要将内容展示给用户

目录
相关文章
|
7月前
|
SQL 数据库 索引
08Lucene索引库查询 - 介绍
08Lucene索引库查询 - 介绍
25 0
|
7月前
|
索引
07Lucene索引库的修改
07Lucene索引库的修改
15 0
|
7月前
|
索引
06Lucene索引库的删除
06Lucene索引库的删除
16 0
|
存储 自然语言处理 数据库
Lucene 查询原理
# 前言 Lucene 是一个基于 Java 的全文信息检索工具包,目前主流的搜索系统Elasticsearch和solr都是基于lucene的索引和搜索能力进行。想要理解搜索系统的实现原理,就需要深入lucene这一层,看看lucene是如何存储需要检索的数据,以及如何完成高效的数据检索。
8414 1
|
自然语言处理 算法 索引
lucene 范围查询及其原理
适用于lucene 6.0。 Int类型的有IntPoint,Double类型的有相应的DoublePoint,以此类推。 1.相关类 org.apache.lucene.document.IntPoint 一个被索引的int类型的field。可以代表n维形状,可以范围搜索。 org.apache.lucene.document.IntPoint.IntPoint(String
2832 0
|
存储 索引 文件存储
Lucene 6.0 索引结构
1.复合文件索引 该模式是默认的。 1.1 目录结构 图 1-1 复合文件索引 1.2 _x.cfe 1.3 _x.cfs 1.4 _x.si 2.多文件索引 IndexWriterConfig org.apache.lucene.index.IndexWriterConfig.setUseCompoundFile(boolean useCompoundFile
1271 0