lucene中文分词搜索的核心代码
public static void search(String indexDir,String q)throws Exception{Directory dir=FSDirectory.open(Paths.get(indexDir));IndexReader reader=DirectoryReader.open(dir);IndexSearcher is=new IndexSearcher(reader);// Analyzer analyzer=new StandardAnalyzer(); // 标准分词器SmartChineseAnalyzer analyzer=new SmartChineseAnalyzer();QueryParser parser=new QueryParser("desc", analyzer);Query query=parser.parse(q);long start=System.currentTimeMillis();TopDocs hits=is.search(query, 10);long end=System.currentTimeMillis();System.out.println("匹配 "+q+" ,总共花费"+(end-start)+"毫秒"+"查询到"+hits.totalHits+"个记录");QueryScorer scorer=new QueryScorer(query);Fragmenter fragmenter=new SimpleSpanFragmenter(scorer);SimpleHTMLFormatter simpleHTMLFormatter=new SimpleHTMLFormatter("<b><font color='red'>","</font></b>");Highlighter highlighter=new Highlighter(simpleHTMLFormatter, scorer);highlighter.setTextFragmenter(fragmenter);for(ScoreDoc scoreDoc:hits.scoreDocs){Document doc=is.doc(scoreDoc.doc);System.out.println(doc.get("city"));System.out.println(doc.get("desc"));String desc=doc.get("desc");if(desc!=null){TokenStream tokenStream=analyzer.tokenStream("desc", new StringReader(desc));System.out.println(highlighter.getBestFragment(tokenStream, desc));}}reader.close();}
转载于:https://www.cnblogs.com/hzzhero/p/6752216.html
lucene中文分词搜索的核心代码相关推荐
- java之全文索引搜索lucene之增删改查文档与中文分词搜索
java之全文索引搜索lucene之增删改查文档与中文分词搜索 接上文,接下来介绍一个lucene的各种query,然后介绍一下中文全文索引搜索. 对于各种query,我就直接上代码了,具体的话,我已 ...
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较...
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...
- Lucene 中文分词器概述 与 Ik-Analyzer 使用教程
目录 中文分词器简述 Ik-Analyzer 概述与特性 Ik-Analyzer 下载与使用 创建索引 查询索引 Ik-Analyzer 官方示例源码 中文分词器简述 1.Apache Lucene ...
- 当前几个主要的Lucene中文分词器的比较
http://blog.fulin.org/2009/08/lucene_chinese_analyzer_compare.html 1. 基本介绍: paoding :Lucene中文分词" ...
- Clucene实现中文分词搜索(转载)
最近,一阵忙乎,终于在Clucene(版本0.9.16)中实现了中文分词搜索. 一些需要改动的地方如下: 一. 把项目设置为Use Unicode Charac ...
- java lucene 中文分词_Lucene的中文分词器IKAnalyzer
分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Ana ...
- 转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼
2006-05-29 17:40 主题: [发布]Lucene中文分词组件 JE-Analysis 1.5.1 天狼 注册于: 2006-05-28 00:23 帖子总数: 103 离线 ...
- php 搜索引擎 分词_PHP 实现中文分词搜索功能
中文分词介绍 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如,英文句子I am a student,用中文则为:"我是一 ...
- PHP 实现中文分词搜索功能
中文分词介绍 众所周知,英语是基于单词的,单词和单词之间用空格隔开,而中文是基于单词的.句子中的所有单词都可以连接起来以描述含义.例如,英文句子"我是学生"将用中文表示" ...
- php scws 获取分词结果,php实现scws中文分词搜索的方法
本文实例讲述了php实现scws中文分词搜索的方法.分享给大家供大家参考,具体如下: 1.4个文件(本站下载地址.)解压后,放到一个地方 eg:E:/wamp/scws 2.php.ini 中配置 e ...
最新文章
- oauth_client_details的值怎么添加_17.八年级数学:怎么求CDM周长的最小值?最短路径问题,经典考题...
- 第一册:lesson seventeen。
- 编译时异常和运行时异常的区别
- python不需要定义函数后使用_python自定义函数可以向前引用不用声明
- POJ-2065 SETI 高斯消元,扩展GCD
- layui循环数据并渲染_从简单到复杂三维图形渲染管线
- HashCode和hashMap、hashTable
- USACO2.1【bfs,排序,贪心,dfs,位运算】
- SonarQube 规则的挂起与激活
- ubuntu16.04 kinetic外接Intel Realsense D435i配置教程
- mysql创建视图不允许子查询
- 计算机网络学习笔记(12. 计算机网络体系结构概述)
- ASP.NET Core Web多语言项目
- 12. 表数据入口(Table Data Gateway)
- 种子文件多服务器,别再问我什么是 BT 种子了!一次性全告诉你
- cass软件yy命令_南方CASS软件快捷命令大全,高手必备。。。
- 也谈谈如何胜任中小型公司的技术总监
- Python 农历公历日期转换
- 【UE4大数据可视化教程序章一】——生成城市与道路模型
- 【原创】php ssh2 远程秘钥登录华三防火墙F5030
热门文章
- python爬取拉勾网职位信息_Python爬虫:拉勾网Python的职位信息爬取
- stl map 查找不到返回什么_STL 容器结构和分类
- matlab剪切板中内容清除,如何清空剪贴板内容?剪切板内容清理过程
- 安装版mysql数据库data在_MySQL 5.7版本的安装使用详细教程+更改数据库data的存储路径...
- 共模电感适用的频率_电感基础知识入门
- android 底部停靠 底部吸附_充压、泄压对吸附式干燥机的重要性
- linux安装配置samba服务,UbuntuLinux系统安装配置Samba服务
- 翻译: 4.1 多层感知器MLP Multilayer Perceptrons pytorch
- Java一套拳法刷掉n个遍历树的问题
- 2021-08-31为什么随机森林能降低方差