paip.lucene 4.3 中文语义搜索最佳实践
paip.lucene 4.3 中文语义搜索最佳实践
首先一个问题是要不要使用lucene 自带的分词器...我觉得最好不使用哪自带的分词器.效果还凑火,就是不好控制...
先使用ik,ict,mmsj等分词器进行分词..
然后使用WhitespaceAnalyzer 建立索引...再使用它进行搜索...注意,建立索引以及搜索使用的Analyzer要一样才行..
要是使用StandardAnalyzer,不个单字也分割开兰,后期过滤麻烦...
作者Attilax 艾龙, EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
-----------------建立索引
try {
//索引文件的保存位置
Directory dir = FSDirectory.open(new File(Constants.INDEX_STORE_PATH));
//分析器
Analyzer analyzer = new WhitespaceAnalyzer(Version.LUCENE_40);
//配置类
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40,analyzer);
iwc.setOpenMode(OpenMode.CREATE);//创建模式 OpenMode.CREATE_OR_APPEND 添加模式
writer = new IndexWriter(dir, iwc);
} catch (Exception e) {
e.printStackTrace();
}
------------搜索
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40);
QueryParser parser = new QueryParser(Version.LUCENE_40, field,analyzer);
// 将关键字包装成Query对象
query = parser.parse(keyword);
Date start = new Date();
// 1 根据关键字只取索引库中的前100条document,然后把这100条document按某种方式进行排序,安得分从高到低返回结果。
TopDocs results = searcher.search(query, 5 * 2);
Date end = new Date();
System.out.println("检索完成,用时" + (end.getTime() - start.getTime())
+ "毫秒");
return results;
} catch (Exception e) {
e.printStackTrace();
return null;
}
paip.lucene 4.3 中文语义搜索最佳实践相关推荐
- 社区论坛行业搜索最佳实践
简介:社区内容通常包括UGC和PGC.由于关键词和内容多样性丰富.用词规范程度参差不齐,这就要求搜索引擎对关键词和内容进行智能语义分析,通过机器识别出用户查询的真正意图,找到最全面最相关的结果进行需求 ...
- 文娱行业搜索最佳实践
内容搜索的价值主要体现在两个方面: 对用户而言,用户将搜索作为寻找内容的工具,目标是"搜的到,搜的准".用户更关心搜索结果的相关性.时效性和多样性. 对平台而言,搜索是内容消费.流 ...
- 新零售行业搜索最佳实践
简介:本文通过新零售客户案例带大家了解零售电商.生鲜电商线上业务搜索中的行业特性,以及如何通过开放搜索电商增强版解决方案构建智能搜索服务,快速实现各项指标的提升,为业务带来了更多新的机会. 客户背景 ...
- 知识图谱入门 【八】- 语义搜索
知识图谱入门 [一]- 认识图谱技术 知识图谱入门 [二]- 知识表示与知识建模 知识图谱入门 [三]- 知识抽取 知识图谱入门 [四]- 知识挖掘 知识图谱入门 [五]- 知识存储 知识图谱入门 [ ...
- (流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践
标签 PostgreSQL , 物联网 , 传感器 , lambda , 调度 , 实时 , 流式更新 , UPSERT , insert on conflict do update 背景 越来越多的 ...
- Lucene bm25 结合 jieba中文分词搜索
2021.10.20:增加依赖包,防止版本问题导致代码不可用 <dependencies><!--核心包--><dependency><grou ...
- lucene的建立索引,搜索,中文分词
Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包. 现在最新的lucene已经更新到6.0版本了.但是这个最新版,需要适配jdk1.80以 ...
- java之全文索引搜索lucene之增删改查文档与中文分词搜索
java之全文索引搜索lucene之增删改查文档与中文分词搜索 接上文,接下来介绍一个lucene的各种query,然后介绍一下中文全文索引搜索. 对于各种query,我就直接上代码了,具体的话,我已 ...
- Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型
作者:Aris Papadopoulos, Gilad Gal 寻找意义,而不仅仅是文字 我们很高兴地与大家分享,在 8.8 中,Elastic ® 提供开箱即用的语义搜索.语义搜索旨在根据文本的意图 ...
- KDD'21 | 揭秘Facebook升级版语义搜索技术
上一篇分享了KDD'21 | 淘宝搜索中语义向量检索技术Que2Search: Fast and Accurate Query and Document Understanding for Searc ...
最新文章
- R语言dplyr包和tidyr包创建交叉表(列联表、crosstab)实战
- 针对当前项目SLED存在短缺XX天
- 2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量
- 【数据结构与算法】之深入解析“字符串相乘”的求解思路与算法示例
- em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
- android listview的一些设置
- 计算机的发展经历阶段应用领域,计算机的发展阶段
- 数据结构-—树的存储结构
- HBase 从下载到安装和运行
- SVM支持向量机原理及代码实现(包含数学原理,超详细)
- java转行能做什么_java转行可以做什么?应该如何去考虑?
- linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
- 常用计算机技能大全,八个超实用的电脑技能( 快收藏!)
- 一分钟教你制作个人文字头像
- itunes下载的软件怎么安装到手机
- tensorflow.keras.models.Sequential——predict()、predict_classes()、predict_proba()方法的区别
- JEC-QA:A Legal-Domain Question Answering Dataset 论文阅读
- php artisan怎么用,php artisan常用方法
- ajax中Uncaught (in promise) TypeError: Failed to execute ‘setRequestHeader‘ on ‘XMLHttpRequest‘: Stri
- Dell R710 iDRAC6 远程控制卡设置