`
gang_zai
  • 浏览: 39456 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Lucene学习笔记2--建立和数据库对应的索引

阅读更多
比如将数据的数据生成索引文件,查询出来的数据以list返回,则
1、定义分词器,lucene自带的分词器为标准分词器,StandardAnalyzer,
但我们这里要讲的是中文分词器--IK_CAnalyzer ikAnalyzer = new IK_CAnalyzer();

/* 创建索引初始化,执行这些语句将创建或清空c:\\index\\目录下所有索引 */
File file = new File(path);
if (file.isDirectory()) {
file.delete();
}

//中文分词器
IK_CAnalyzer ikAnalyzer = new IK_CAnalyzer();
IndexWriter writer1 = new IndexWriter(path, ikAnalyzer, true);
writer1.close();

IndexWriter writer2 = new IndexWriter(path, ikAnalyzer, false);
//这里的false表示在新建索引文件时要删除旧的索引文件,true表在旧的索引文件中追加新的索引记录
for (int i = 0; i < list.size(); i++) {
Document doc = new Document();
//这里的field代表数据库中某个表的列
Field field1 = new Field(ArticleTitle, "这里录入列对应的值",Field.Store.YES, Field.Index.TOKENIZED);
doc.add(field1);
Field field2 = new Field(ArticleText,"这里录入列对应的值", Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field2);
Field field3 = new Field(ArticleTime,"这里录入列对应的值" , Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field3);
..........
// 在这里还可以添加其他域
/* 添加这份文件到索引 */
writer2.addDocument(doc);
}
说明:
/*
* 创建一个域ArticleTitle,并往这个域里面添加内容 "Field.Store.YES"表示域里面的内容将被存储到索引
* "Field.Index.TOKENIZED"表示域里面的内容将被索引,以便用来搜索 Lucene给文档的字段设定三个布尔变量:
* 索引(indexed), 存储(stored), 切词(tokenized) ,
*/
分享到:
评论

相关推荐

    本人的Lucene2.9学习笔记

    Lucene的工作主要分为两大部分:建立索引和搜索索引。 1. 建立索引:这一过程涉及将原始数据(如文本文件、数据库记录等)转化为可搜索的索引结构。这通常通过创建`IndexWriter`实例完成,它会将数据转换成一系列的...

    lucene学习笔记

    **Lucene学习笔记** Lucene是一个高性能、全文检索库,由Apache软件基金会开发并维护,是Java编程语言中广泛使用的搜索引擎库。它提供了强大的文本分析、索引和搜索功能,适用于构建复杂的全文检索系统。本笔记将...

    全文检索学习笔记

    home`定义了Solr的工作目录,`Data_config.xml`定义数据源和导入规则,而`Solrconfig.xml`配置了请求处理器,如数据导入处理器`/dataimport`,它与`data-config.xml`配合,用于从数据库导入数据并建立索引。...

    Compass原理深入学习笔记

    【Compass原理深入学习笔记】 Compass是一款基于Apache Lucene的全文搜索引擎框架,它为开发者提供了更高级别的抽象层,简化了搜索引擎的集成工作。在理解Compass之前,我们需要先了解全文检索的基本概念和原理。 ...

    es学习笔记,覆盖全面,从入门到精通,原理画图分析

    根据文件提供的信息,我们可以了解到一系列关于Elasticsearch(简称ES)的知识点,包括其基本使用方法、结构化搜索、...在学习过程中,理解ES的文档、映射、查询等基本概念对于进一步的深入学习和应用具有重要意义。

    Elasticsearch笔记

    它建立在Lucene之上,但提供了一个更为简单和统一的接口,使开发者可以轻松地集成搜索功能到他们的应用中。 #### 2. Lucene概述 **Lucene** 是一个高性能、全功能的全文搜索引擎库。它为开发者提供了创建搜索应用...

    面试专题课堂笔记.zip

    8. **09MySQL数据库篇.pdf** - MySQL是常用的数据库系统,这部分可能涉及SQL基础、事务处理、索引优化、存储引擎选择等数据库设计和管理的知识。 9. **10搜索引擎篇.pdf** - 可能涉及到搜索引擎的基本原理,如...

    elasticsearch基础知识,从小白到入门

    - **倒排索引**:倒排索引是搜索引擎的核心技术之一,它将文档中的关键词与文档之间的对应关系建立索引,使得根据关键词快速查找文档成为可能。 - **分词**:分词是指将连续的文本切分成一个个单独的词语的过程,这...

Global site tag (gtag.js) - Google Analytics