
Lucene
文章平均质量分 57
esc_ai
这个作者很懒,什么都没留下…
展开
-
Lucene 6.0下使用IK分词器
Lucene 6.0使用IK分词器需要修改修改IKAnalyzer和IKTokenizer. 使用时先新建一个MyIKTokenizer类,一个MyIkAnalyzer类:MyIKTokenizer.javaimport java.io.IOException;import java.io.Reader;import org.apache.lucene.analysis.Tokenizer;i原创 2016-07-14 18:34:16 · 8373 阅读 · 5 评论 -
Lucene 6.0 提取新闻关键词Top-N
一、需求给出一篇新闻文档,统计出现频率最高的有哪些词语。二、思路关于文本关键词提取的算法有很多,开源工具也不止一种。这里只介绍如何从Lucene索引中提取词项频率的TopN。索引过程的本质是一个词条化的生存倒排索引的过程,词条化会从文本中去除标点符号、停用词等,最后生成词项。在代码中实现的思路是使用IndexReader的getTermVector获取文档的某一个字段的Terms,原创 2017-01-11 19:47:00 · 7819 阅读 · 2 评论 -
《从Lucene到Elasticsearch:全文检索实战》已出版!
一、前言决定在优快云写博客的原因是想把自己解决过的问题、踩过的坑、总结出来的经验记录下来,作为编程之路的“笔记本”,同时也能给遇到同样问题的人提供参考、节省时间,写书的初衷也一样。二、缘起说一下写书的前因后果。中国科学院大学雁栖湖校区是很重要的一年,师资团队无可挑剔,每次上课去的稍微晚一点,300人的大教室都没有座位。对于计算机学院而言,大数据、机器学习、信息检索(搜索引擎)、算...原创 2017-12-05 01:48:47 · 10001 阅读 · 13 评论 -
scrapy+Lucene搭建小型搜索引擎(现代信息检索大作业)
一、选题工程类搜索型: 定向采集 3-4 个新闻网站, 实现这些网站信息的抽取、索引和检索。网页数 目不少于 10 万条。能按相关度、时间、热度 (需要自己定义) 等属性进行排序, 能实现相似 新闻的自动聚类。 要求: 有相关搜索推荐、snippet 生成、结果预览 (鼠标移到相关结果, 能预览) 功能二、项目线上访问地址项目访问地址:http://120.27.46.201原创 2016-05-22 22:51:12 · 17902 阅读 · 17 评论 -
TF-IDF词项权重计算
一、TF-IDF词项频率: df:term frequency。 term在文档中出现的频率.tf越大,词元越重要. 文档频率: tf:document frequecy。有多少文档包含此term,df越大词元越不重要.词元权重计算公式: tf-idf=tf(t,d)*log(N/df(t))W(t,d):the weight of the term in document d tf原创 2017-03-23 21:46:51 · 5417 阅读 · 3 评论 -
Jackcard相似度和余弦相似度(向量空间模型)的java实现
Jackcard相似度和余弦相似度(向量空间模型)的java实现原创 2017-04-12 00:08:02 · 5187 阅读 · 1 评论 -
Lucene扩展停用词字典与自定义词库
介绍如何在Lucene 6.0中扩展停用词,如何通过自定义字典把"厉害了我的哥"分成一个词原创 2017-02-04 18:23:51 · 6843 阅读 · 2 评论 -
lucene全文检索基础
信息检索整体流程一次完整的搜索从用户输入要查询的关键词开始,比如想查找lucene的相关学习资料,我们都会Google或百度中输入关键词,比如输入“lucene, 全文检索框架”,之后系统根据用户输入的关键词返回相关信息。一次检索大致可分为四步:原创 2015-12-15 00:28:31 · 3229 阅读 · 1 评论 -
[搜索]Lucene仿百度文库文件检索系统
一、准备文件2016中国人工智能大会 顶尖专家齐聚.pptx2016中国人工智能大会 大咖云集探讨人工智能.doc2016中国人工智能大会在京召开.docxJavaScript闭包详解.docx如何使用JSON.doc中国人工智能大会CCAI 2016圆满落幕.pdf中科院副院长:人工智能 找风口不如找关口.txt二、搜索框三、搜索结果页声明: 本博客拒绝转载!原创 2016-10-01 10:24:21 · 3864 阅读 · 10 评论 -
Lucene 6.0中BooleanQuery
Lucene 6.0中BooleanQuery创建和之前的不太一样,4.3版本的创建BooleanQuery:BooleanQuery bQuery=new BooleanQuery(); bQuery.add(new TermQuery(new Term("title", "lucene")), Occur.MUST); bQuery.add(new原创 2016-11-08 00:41:35 · 4647 阅读 · 0 评论 -
lucene索引的删除和更新
Lucene索引的删除和更新删除和更新和新增一样,也是通过IndexWriter 对象来操作的,IndexWrite对象的deleteDocuments ()方法用于实现索引的删除,updateDocument()方法用于实现索引的更新。删除Lucene索引删除索引的代码如下,该示例实现了根据Term来删除单个或多个Document,删除title中包含关键词“美国”的文档:import java.原创 2016-11-07 23:09:21 · 10589 阅读 · 1 评论 -
Lucene查询索引
Lucene简介和怎样创建索引可以参考我前面的两篇博客Lucene全文检索基础和Lucene创建索引,索引创建以后可以使用luke(使用和Lucene版本相对应的Luke版本,比如Lucene版本是4.3,那么使用4.3 版本的Luke)查看。索引创建以新闻文档为例,每条新闻是一个document,新闻有news_id、news_title、news_source、news_url、news_abs原创 2016-04-22 11:07:41 · 4611 阅读 · 1 评论 -
Lucene 查询(Query)子类
QueryParser(单域查询)QueryParser子类对单个域查询时创建查询query,构造方法中需要传入Lucene版本号,检索域名和分词器。QueryParser parser = new QueryParser(Version.LUCENE_43, field, analyzer);// 查询字符串Query query = parser.parse("key");MultiField原创 2016-04-24 22:14:31 · 6354 阅读 · 0 评论 -
Lucene查询结果高亮
检索结果高亮对于用户的体验度和友好度非常重要,可以快速标记出用户检索对关键词。本例中的索引仍使用上一篇博客( Lucene查询索引)中创建的索引,代码高亮参考了Lucene4.x高亮 fast高亮 前端高亮。实现效果:核心代码package ucas.ir.lucene;import java.io.File;import java.io.IOException;import javax.prin原创 2016-04-23 13:04:43 · 5227 阅读 · 6 评论 -
lucene创建索引
上篇博客写了信息检索的基本知识和lucene架构,这篇博客记录一下如何在eclipse中创建索引.1.lucene下载.下载地址:http://archive.apache.org/dist/lucene/java/. lucene不同版本之间有不小的差别,这里下载的是lucene 4.3.2.导入jar包打开eclipse,新建dynamic web project.解压下载的lucene压缩包,原创 2015-12-15 00:29:30 · 4027 阅读 · 2 评论 -
Lucene索引合并
@Test public void mergeIndex() throws IOException { Analyzer analyzer=new HanLPAnalyzer(); IndexWriterConfig icw = new IndexWriterConfig(analyzer); icw.setOpenMode(Inde...原创 2018-08-24 15:07:35 · 863 阅读 · 2 评论