Lucene 的 Field 域和索引维护】的更多相关文章

一.Field 域 1.Field 属性 Field 是文档中的域,包括 Field 名和 Field 值两部分,一个文档可以包括多个 Field,Document 只是 Field 的一个承载体,Field 值即为要索引的内容,也是要搜索的内容. 是否分词 (tokenized) 是:作分词处理,即将 Field 值进行分词,分词的目的是为了索引. 比如:商品名称.商品简介等,这些内容用户要输入关键字搜索,由于搜索的内容格式大.内容多需要分词后将语汇单元索引. 否:不作分词处理 比如:商品 i…
      1. Field域 1.1  Field的属性 是否分词(Tokenized) 是:对该field存储的内容进行分词,分词的目的,就是为了索引. 比如:商品名称.商品描述.商品价格 否:不需要对field存储的内容进行分词,不分词,不代表不索引,而是将整个内容进行索引. 比如:商品id 是否索引(Indexed) 是:将分好的词进行索引,索引的目的,就是为了搜索. 比如:商品名称.商品描述.商品价格.商品id 否:不索引,也就是不对该field域进行搜索. 是否存储(Stored)…
之前的博客搜索栏用的是 sql 模糊查询进行查找,最近学完lucene,要学以致用啊,就把sql搜索给替换下来吧 中间遇到一些问题,也是学过程中没有提到的,所以说,还是实践出真知啊. lucene分开来讲的话,我感觉就是两大块:索引维护.搜索索引 索引维护包括:添加索引.删除索引.更新索引 public class BlogIndex { // lucene 路径在 bean 里面配置 private String lucenePath;public String getLucenePath()…
Field.Store.YES或者NO(存储域选项) 设置为YES表示或把这个域中的内容完全存储到文件中,方便进行文本的还原 设置为NO表示把这个域的内容不存储到文件中,但是可以被索引,此时内容无法完全还原(doc.get) Field.Index(索引选项) Index.ANALYZED:进行分词和索引,适用于标题.内容等 Index.NOT_ANALYZED:进行索引,但是不进行分词,如果身份证号.姓名.ID等,适用于精确搜索 Index.ANALYZED_NOT_NORMS:进行分词但是不…
1. Field域属性分类 添加文档的时候,我们文档当中包含多个域,那么域的类型是我们自定义的,上个案例使用的TextField域,那么这个域他会自动分词,然后存储            我们要根据数据类型和数据的用途合理的选择合适的域            Field类:                StringField(fieldName,fieldValue,Stroe.YES/NO) 存储的数据类型为字符串,包含索引,是否存储根据Stroe定义,不会经过分析器            …
一.实验名称:构建索引 二.实验日期:2013/9/21 三.实验目的: 1)        能理解Lucene中的Document-Field结构的数据建模过程: 2)        能编针对特定数据生成索引文件. 四.实验用的仪器和材料: MyEclipse 10,JDK 五.实验的步骤和方法: 题目一:在指定目录生成表示3本书的索引,要求建立3个document分别存放书名数据.把生成的索引文件截好图(复合索引与一般索引各生成一次) 图1:一般索引的截图 图2:复合索引的截图 题目二:修改…
索引的操作 我们建立所有就是要达到快速检索的目的,对数据能够方面便的查找,和数据库类似,索引也有自己的相关增删改查的操作. 在索引的增删改查中,增删改属于写操作,主要是有IndexWrite提供的方法处理:而查显而易见,读操作,使用IndexSeacher 提供的方法来实现.在Lucene的官方文档找到 org.apache.lucene.index.IndexWriter 这个类,我们就可以看到他很多方法. 创建索引 如同上一章里面的代码,创建索引时先建立文件,创建索引的域,再使用IndexW…
目录 1 Field的特性 2 常用的Field类型 3 常用的Field种类使用 3.1 准备环境 3.2 需求分析 3.3 修改代码 3.4 重新建立索引 1 Field的特性 Document(文档)是Field(域)的承载体, 一个Document由多个Field组成. Field由名称和值两部分组成, Field的值是要索引的内容, 也是要搜索的内容. 是否分词(tokenized) 是: 将Field的值进行分词处理, 分词的目的是为了索引. 如: 商品名称, 商品描述. 这些内容用…
问题 现在给出很多份文档,现在对某个搜索词感兴趣,想找到相关的文档. 简单搜索 一种简单粗暴的做法是: 1.读取每个文档:2.找到其中含有搜索词的文档:3.对找到的文档中搜索词出现的次数统计:4.根据搜索词统计次数对文档按降序排序. 这称之为信息获取(Information Retrieval, IR),也叫简单搜索 普通IR方案存在的问题:    文档的体积增大或者数量增多,算法效率会下降    改进搜索的方案 Lucene项目对文档进行索引来快速搜索. 问题又来了:仅有索引仍不够,还有: 链…
Field类是lucene在索引过程中的一个很重要的类,该类控制着域值被索引的方式 域选项主要包括以下几种选项:域索引选项.域存储选项.域的项向量选项.域的排序选项等 域索引选项:通过倒排索引来控制域值是否能够被搜索                Index.ANALYZED,将文本域分析成为一个或多个独立的语汇单元,每个语汇单元都能够被搜索 Index.NOT_ANALYZED,对文本域进行索引但是不进行分词(适用于对人名,URL,电话号码等需要进行精确匹配的搜索) Index.ANALYZE…