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 中文语义搜索最佳实践相关推荐

  1. 社区论坛行业搜索最佳实践

    简介:社区内容通常包括UGC和PGC.由于关键词和内容多样性丰富.用词规范程度参差不齐,这就要求搜索引擎对关键词和内容进行智能语义分析,通过机器识别出用户查询的真正意图,找到最全面最相关的结果进行需求 ...

  2. 文娱行业搜索最佳实践

    内容搜索的价值主要体现在两个方面: 对用户而言,用户将搜索作为寻找内容的工具,目标是"搜的到,搜的准".用户更关心搜索结果的相关性.时效性和多样性. 对平台而言,搜索是内容消费.流 ...

  3. 新零售行业搜索最佳实践

    简介:本文通过新零售客户案例带大家了解零售电商.生鲜电商线上业务搜索中的行业特性,以及如何通过开放搜索电商增强版解决方案构建智能搜索服务,快速实现各项指标的提升,为业务带来了更多新的机会. 客户背景 ...

  4. 知识图谱入门 【八】- 语义搜索

    知识图谱入门 [一]- 认识图谱技术 知识图谱入门 [二]- 知识表示与知识建模 知识图谱入门 [三]- 知识抽取 知识图谱入门 [四]- 知识挖掘 知识图谱入门 [五]- 知识存储 知识图谱入门 [ ...

  5. (流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践

    标签 PostgreSQL , 物联网 , 传感器 , lambda , 调度 , 实时 , 流式更新 , UPSERT , insert on conflict do update 背景 越来越多的 ...

  6. Lucene bm25 结合 jieba中文分词搜索

    ​​​​​2021.10.20:​​增加依赖包,防止版本问题导致代码不可用 <dependencies><!--核心包--><dependency><grou ...

  7. lucene的建立索引,搜索,中文分词

    Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包. 现在最新的lucene已经更新到6.0版本了.但是这个最新版,需要适配jdk1.80以 ...

  8. java之全文索引搜索lucene之增删改查文档与中文分词搜索

    java之全文索引搜索lucene之增删改查文档与中文分词搜索 接上文,接下来介绍一个lucene的各种query,然后介绍一下中文全文索引搜索. 对于各种query,我就直接上代码了,具体的话,我已 ...

  9. Elastic Learned Sparse Encoder 简介:Elastic 用于语义搜索的 AI 模型

    作者:Aris Papadopoulos, Gilad Gal 寻找意义,而不仅仅是文字 我们很高兴地与大家分享,在 8.8 中,Elastic ® 提供开箱即用的语义搜索.语义搜索旨在根据文本的意图 ...

  10. KDD'21 | 揭秘Facebook升级版语义搜索技术

    上一篇分享了KDD'21 | 淘宝搜索中语义向量检索技术Que2Search: Fast and Accurate Query and Document Understanding for Searc ...

最新文章

  1. R语言dplyr包和tidyr包创建交叉表(列联表、crosstab)实战
  2. 针对当前项目SLED存在短缺XX天
  3. 2通过程序获得环境变量,getenv(),setenv()函数和unsetenv()函数,env查看环境变量,echo输出指定的环境变量
  4. 【数据结构与算法】之深入解析“字符串相乘”的求解思路与算法示例
  5. em算法怎么对应原有分类_[PRML]序列数据 HMM维特比算法及扩展
  6. android listview的一些设置
  7. 计算机的发展经历阶段应用领域,计算机的发展阶段
  8. 数据结构-—树的存储结构
  9. HBase 从下载到安装和运行
  10. SVM支持向量机原理及代码实现(包含数学原理,超详细)
  11. java转行能做什么_java转行可以做什么?应该如何去考虑?
  12. linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
  13. 常用计算机技能大全,八个超实用的电脑技能( 快收藏!)
  14. 一分钟教你制作个人文字头像
  15. itunes下载的软件怎么安装到手机
  16. tensorflow.keras.models.Sequential——predict()、predict_classes()、predict_proba()方法的区别
  17. JEC-QA:A Legal-Domain Question Answering Dataset 论文阅读
  18. php artisan怎么用,php artisan常用方法
  19. ajax中Uncaught (in promise) TypeError: Failed to execute ‘setRequestHeader‘ on ‘XMLHttpRequest‘: Stri
  20. Dell R710 iDRAC6 远程控制卡设置

热门文章

  1. 【BZOJ】2194: 快速傅立叶之二
  2. 服务器租用别让黑客钻了这些空子
  3. PHP使用MySQL数据库
  4. 转载:手把手教你把Vim改装成一个IDE编程环境(图文)
  5. KST1G SD卡脚本提取JPG
  6. [北京]招聘C++程序员
  7. 网站常用组件收集整理
  8. Appium 常用操作
  9. Sublime Text 3下载-汉化-插件配置
  10. javascript_core之正则、Math、Date