// 1. 采集数据

BookDao bookDao = new BookDaoImpl();

List<Book> bookList = bookDao.queryBookList();

// 2. 创建Document文档对象

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

for (Book book : bookList) {

Document document = new Document();

// Document文档中添加Field域

// 图书Id

// Store.YES:表示存储到文档域中

document.add(new TextField("id", book.getId().toString(), Store.YES));

// 图书名称

document.add(new TextField("name", book.getName().toString(), Store.YES));

// 图书价格

document.add(new TextField("price", book.getPrice().toString(), Store.YES));

// 图书图片地址

document.add(new TextField("pic", book.getPic().toString(), Store.YES));

// 图书描述

document.add(new TextField("desc", book.getDesc().toString(), Store.YES));

// 把Document放到list中

documents.add(document);

}

// 3. 创建Analyzer分词器,分析文档,对文档进行分词

Analyzer analyzer = new StandardAnalyzer();

// 4. 创建Directory对象,声明索引库的位置

Directory directory = FSDirectory.open(new File("C:/itcast/lucene/index"));

// 5. 创建IndexWriteConfig对象,写入索引需要的配置

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

// 6.创建IndexWriter写入对象

IndexWriter indexWriter = new IndexWriter(directory, config);

// 7.写入到索引库,通过IndexWriter添加文档对象document

for (Document doc : documents) {

indexWriter.addDocument(doc);

}

// 8.释放资源

indexWriter.close();

实现搜索

1. 创建Query搜索对象

2. 创建Directory流对象,声明索引库位置

3. 创建索引读取对象IndexReader

4. 创建索引搜索对象IndexSearcher

5. 使用索引搜索对象,执行搜索,返回结果集TopDocs

6. 解析结果集

7. 释放资源

分词器的底层:

语汇单元的形成过程

Lucene的步骤的更多相关文章

  1. Lucene配置步骤详解

    Lucene配置步骤说明: 1.搭建环境: 2.创建索引库: 3搜索索引库. Lucene配置步骤: 第一部分:搭建环境(创建环境导入jar包) 前提:已经创建好了数据库(直接导入book.sql文件 ...

  2. lucene全文检索---打酱油的日子

    检索内容,一般的程序员第一时间想到的是sql的like来做模糊查询,其实这样的搜索是比较耗时的.已经有lucene帮我们 封装好了,lucene采用的是分词检索等策略. 1.lucene中的类描述 I ...

  3. Lucene实战构建索引

    搭建lucene的步骤这里就不详细介绍了,无外乎就是下载相关jar包,在eclipse中新建java工程,引入相关的jar包即可 本文主要在没有剖析lucene的源码之前实战一下,通过实战来促进研究 ...

  4. lucene学习教程

    1Lucene的介绍 ①Lucene是什么: 是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎 ②Lu ...

  5. lucene4.6 索引创建和搜索例子

    本文转自:http://blog.csdn.net/jyf211314/article/details/17503997           点击打开链接 lucene4.6小例子,Lucene全文检 ...

  6. lucene 索引创建步骤

    一.步骤: 1.存储位置:1)文件: Directory dir= FSDirectory.open(new File("D:\\LuceneIndex")); 2)内存: new ...

  7. lucene 简单搜索步骤

    1.创建IndexReader实例: Directory dir = FSDirectory.open(new File(indexDir)); IndexReader reader = Direct ...

  8. Lucene的分析资料【转】

    Lucene 源码剖析 1 目录 2 Lucene是什么 2.1.1 强大特性 2.1.2 API组成- 2.1.3 Hello World! 2.1.4 Lucene roadmap 3 索引文件结 ...

  9. 【手把手教你全文检索】Apache Lucene初探

    PS: 苦学一周全文检索,由原来的搜索小白,到初次涉猎,感觉每门技术都博大精深,其中精髓亦是不可一日而语.那小博猪就简单介绍一下这一周的学习历程,仅供各位程序猿们参考,这其中不涉及任何私密话题,因此也 ...

随机推荐

  1. 七、latex中的插图

  2. 常用技术blog

    淘宝核心系统团队 http://csrd.aliapp.com/ 淘宝搜索技术博客 http://www.searchtb.com 淘宝量子恒道官方博客 http://blog.linezing.co ...

  3. 026-Cinder服务-->使用NFS作为后端存储

    以下将介绍如何使用NFS共享作为Openstack后端存储,本案例在计算节点上配置nfs [root@linux-node2 ~]# yum install -y openstack-cinder p ...

  4. Linux 安装 Composer

    Linux 安装 Composer  入门 练习环境: 虚拟机:Oracle VM VirtualBox. 系统:CentOS 7. 安装方式一: 参考网址:https://learnku.com/c ...

  5. 面试经典&&竞赛——二叉树

    To record her trees for future generations, she wrote down two strings for each tree: a preorder tra ...

  6. pycharm不支持svn,是需要svn命令行工具没有安装(for windows)

    1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...

  7. double处理

    String s = "1,3;2,3,4;5"; String[] split = s.split(";");double[][] d;d = new dou ...

  8. Windows Server2008R2蓝屏,分析dmp文件

    使用Windbp PreView打开dmp文件后,在命令栏输入如下命令: !analyze -v 解析结果中蓝色字体为错误原因分析

  9. java:集合输出之foreach输出三

    java:集合输出之foreach输出三 foreach输出: List<String> allList = new ArrayList<String>(); allList. ...

  10. Python---Tkinter---贪吃蛇

    # 项目分析: - 构成: - 蛇  Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food ------- ...