删除索引(文档) 需求 某些图书不再出版销售了,我们需要从索引库中移除该图书. 1 @Test 2 public void deleteIndex() throws Exception { 3 // 1.指定索引库目录 4 Directory directory = FSDirectory.open(new File("F:\\lucene\\0719")); 5 // 2.创建IndexWriterConfig 6 IndexWriterConfig cfg = new IndexW…
1 Lucene简介 Lucene是apache下的一个开源的全文检索引擎工具包. 1.1 全文检索(Full-text Search)  1.1.1 定义 全文检索就是先分词创建索引,再执行搜索的过程. 分词:就是将一段文字分成一个个单词 全文检索就将一段文字分成一个个单词去查询数据!!! 1.1.2 应用场景 1.1.2.1 搜索引擎(了解) 搜索引擎是一个基于全文检索.能独立运行.提供搜索服务的软件系统. 1.1.2.2 电商站内搜索(重点) 思考:电商网站内,我们都是通过输入关键词来搜索…
注意:基于lucene5.5.x版本 一.简单介绍下IK Analyzer IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2007.iteye.com/ IK Analyzer支持两种分词,一种是最细粒度分词(推荐使用,Ik默认采用最细粒度),还有一种的智能分词(测试了一下智能分词还没有lucene自带的分词准确,呵呵了). 二.IK Analyzer兼容性问题解决办法 IKanalyzer目前最新版本只支持到lucen…
正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表:单词2:出现次数,出现位置列表:…………. “文档2”的ID > 此文档出现的关键词列表. 一般是通过key,去找value.  当用户在主页上搜索关键词“华为手机”时,假设只存在正向索引(forward index),那么就需要扫描索引库中的所有文档,找出所有包含关键词“华为手机”的文档,再根据打分模型进行打分,排出名次后呈现给用户.因为互联网上收录在搜索引擎中的文档的数目是个天文数字,这样的索引结构根本无法满足实时…
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /**  * 获取文本的所有分词结果, 对比不同分…
1 什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开. 而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分. 所以需要一个能自动识别中文语义的分词器. 2. Lucene自带的中文分词器 StandardAnalyzer 单字分词:就是按照中文一个字一个字地进行分词.如:“我爱中国”, 效果:“我”.“爱”.“中”.“国”. CJKAnalyzer 二分法分词:按两个字进行切分.如:“我是中国人”,效果:“我是”.“是中”.“中国”“国人”…
目录 1 分词器概述 1.1 分词器简介 1.2 分词器的使用 1.3 中文分词器 1.3.1 中文分词器简介 1.3.2 Lucene提供的中文分词器 1.3.3 第三方中文分词器 2 IK分词器的使用 2.1 配置pom.xml文件, 加入IK分词器的依赖 2.2 修改索引流程的分词器 2.3 修改检索流程的分词器 2.4 重新创建索引 3 扩展中文词库 3.1 加入IK分词器的配置文件 3.2 增加扩展词演示(扩展: 人民邮电出版社) 3.3 增加停用词演示(增加: 的.和) 1 分词器概…
 这里只是告诉你如何导入,生产环境不要这样部署你的solr服务. 首先修改solrConfig.xml文件 备份_default文件夹 修改solrconfig.xml 加入如下内容 官方示例:<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"&g…
1. 什么是中文分词器 对于英文,是安装空格.标点符号进行分词 对于中文,应该安装具体的词来分,中文分词就是将词,切分成一个个有意义的词. 比如:“我的中国人”,分词:我.的.中国.中国人.国人. 2. Lucene自带的中文分词器 StandardAnalyzer: 单字分词:就是按照中文一个字一个字地进行分词.如:“我爱中国”, 效果:“我”.“爱”.“中”.“国”. CJKAnalyzer 二分法分词:按两个字进行切分.如:“我是中国人”,效果:“我是”.“是中”.“中国”“国人”. 上边…
1. 中文分词器 1.1 默认分词器 先来看看ElasticSearch中默认的standard 分词器,对英文比较友好,但是对于中文来说就是按照字符拆分,不是那么友好. GET /_analyze { "analyzer": "standard", "text": "中华人民共和国" } 我们想要的效果是什么:"中华人民共和国"作为一整个词语. 得到的结果是: { "tokens" :…