lucene之创建索引代码

public void createIndex() throws IOException {

// 第一步采集数据:(jdbc采集数据)

BookDao dao = new BookDaoImpl();

List<Book> queryBookList = dao.queryBookList();

// 将数据采集放到docment对象中

Document doc = null;

List<Document> docList = new ArrayList<>();

for (Book book : queryBookList) {

// 根据需求创建不同的field     Store是是否存储

doc = new Document();

Field id = new TextField("id", book.getId().toString(), Store.YES);

Field name = new TextField("name", book.getName(), Store.YES);

Field price = new TextField("price", book.getPrice().toString(), Store.YES);

Field pic = new TextField("pic", book.getPic(), Store.YES);

Field desc = new TextField("description", book.getDescription(), Store.YES);

// 将field域,添加到文档对象中

doc.add(id);

doc.add(name);

doc.add(price);

doc.add(pic);

doc.add(desc);

docList.add(doc);

}

//创建一个indexWriter对象(通过它反向推理出需要的条件)

//先构造一个directory  指定索引库的位置,一般使用文件系统的目录。

FSDirectory directory = FSDirectory.open(new File("G:\\index01"));

//创建一个分词器 对文档中的Field域进行分词

Analyzer analyzer = new StandardAnalyzer();//标准分词器

IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);

IndexWriter writer = new IndexWriter(directory,config);

//创建索引

for (Document document : docList) {

writer.addDocument(document);

}

//关闭资源

writer.close();

}

时间: 06-24

lucene之创建索引代码的相关文章

使用Lucene对预处理后的文档进行创建索引(可执行)

时间: 2015/3/18 杨鑫newlife 对于文档的预处理后.就要開始使用Lucene来处理相关的内容了. 这里使用的Lucene的过程例如以下: 首先要为处理对象机那里索引 二是构建查询对象 三是在索引中查找 这里的代码是处理创建索引的部分 代码: package ch2.lucenedemo.process; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import jav

Lucene 4.7 --创建索引

Lucene的最新版本和以前的语法或者类名,类规定都相差甚远 0.准备工作: 1). Lucene官方API http://lucene.apache.org/core/4_7_0/index.html 2). 我用到的常用JAR包下载:http://download.csdn.net/detail/yangxy81118/8062269 3). 所用到的jar包 lucene-analyzers-common-4.7.0.jar lucene-analyzers-smartcn-4.7.0.j

lucene创建索引以及索引文件合并

1 package test; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.nio.file.Path; 6 import java.util.ArrayList; 7 import java.util.List; 8 import java.util.Map; 9 10 import org.apache.lucene.analysis.standard.StandardAnalyzer; 11 im

Lucene底层原理和优化经验分享(1)-Lucene简介和索引原理

基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB级.万亿条数据记录的检索工作,这里向大家分享下Lucene底层原理研究和一些优化经验. 从两个方面介绍: 1. Lucene简介和索引原理 2. Lucene优化经验总结 1. Lucene简介和索引原理 该部分从三方面展开:Lucene简介.索引原理.Lucene索引实现. 1.1 Lucene简介 Lucene最初由鼎鼎大名Doug Cutting开发,2000年开源,现在也是开源全文检索方案的不二选择,它的特点概述起来就是

Elasticsearch搜索API使用一:创建索引并指定索引类型的mapping

ES默认是动态创建索引和索引类型的mapping的.这就相当于无需定义Solr中的Schema,无需指定各个字段的索引规则就可以索引文件,很方便.但有时方便就代表着不灵活.比如,ES默认一个字段是要做分词的,但我们有时要搜索匹配整个字段却不行.如有统计工作要记录每个城市出现的次数.对于NAME字段,若记录"new york"文本,ES可能会把它拆分成"new"和"york"这两个词,分别计算这个两个单词的次数,而不是我们期望的"new

sql 高级 (五)(create index(创建索引) drop)

SQL create index 语句 create  index语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据. 用户无法看到索引,它们只能被用来加速搜索/查询. 更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新. 理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引. 允许使用重复的值: create index  index_name ON table_name (column_name) SQL create

数据库lib7第2, 3题(创建索引和触发器)

2. 分别为上述建立的表格建立适当的索引,请描述建立索引的过程(可以截图或者写SQL).其中,要求对SPJ标中的SNo, PNo字段各建立一个索引,为(PNo, JNo)的组合建立一个索引.请问,SNo和PNo上的索引是聚集索引还是非聚集索引?为什么? 附上代码: 1 create index SNo_Index on SPJ(SNo) 2 create index PNo_Index on SPJ(PNo) 3 create clustered index SNo_PNo_Index on S

04.全文检索的原理-创建索引

你要想查这个东西,得先把库建好.先创建索引再查询索引,这两部分.建立索引,先把文档内容里面的词找出来然后建立索引.我们这里就是一个分析的过程,分析怎么分析?词与词之间有空格,根据空格来把它分词就可以了.在关系型数据库中查询的时候大小写单词是没有关系的.在Java里面,大小写字母是不同字符串,都转换成大写或者都转换成小写都可以啊.但是你要统一一个大小写,统一完了之后你大写开头的单词(例如Lucene)和小写开头的单词(例如lucene)就是同一个单词.去除常用词,is或者a这些,没有什么实际意义,

【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)

原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_log分析 4分库分表 5子查询优化 二数据转移 21插入数据 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时解决了这一危机.它通过降低数据的安全性,减少对事务

如何创建索引

原文:如何创建索引 通过前面二篇文章我们基本学会了如何结合执行计划分析出某Sql语句的性能问题,既然有性能问题的地方已经找到了,接下来就是如何优化查询来提高查询性能,而优化查询最重要的武器就是创建索引,这篇文章就来总结如何创建索引来提高查询速度,主要从以下几个方面来总结. 了解索引 创建索引的语法 结合实例演示如何创建索引 了解索引 1,索引是什么? 在Sql Server中,索引是一种增强式的存在,这表示即使没有索引,Sql Server的功能并不会受到影响.索引是对数据库表中一列或多列的值进