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中文分词搜索的核心代码相关推荐

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

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

  2. 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较...

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

  3. Lucene 中文分词器概述 与 Ik-Analyzer 使用教程

    目录 中文分词器简述 Ik-Analyzer 概述与特性 Ik-Analyzer 下载与使用 创建索引 查询索引 Ik-Analyzer 官方示例源码 中文分词器简述 1.Apache Lucene  ...

  4. 当前几个主要的Lucene中文分词器的比较

    http://blog.fulin.org/2009/08/lucene_chinese_analyzer_compare.html 1. 基本介绍: paoding :Lucene中文分词" ...

  5. Clucene实现中文分词搜索(转载)

    最近,一阵忙乎,终于在Clucene(版本0.9.16)中实现了中文分词搜索. 一些需要改动的地方如下:                     一. 把项目设置为Use Unicode Charac ...

  6. java lucene 中文分词_Lucene的中文分词器IKAnalyzer

    分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Ana ...

  7. 转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼

    2006-05-29 17:40     主题:  [发布]Lucene中文分词组件 JE-Analysis 1.5.1   天狼 注册于: 2006-05-28 00:23 帖子总数: 103 离线 ...

  8. php 搜索引擎 分词_PHP 实现中文分词搜索功能

    中文分词介绍 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如,英文句子I am a student,用中文则为:"我是一 ...

  9. PHP 实现中文分词搜索功能

    中文分词介绍 众所周知,英语是基于单词的,单词和单词之间用空格隔开,而中文是基于单词的.句子中的所有单词都可以连接起来以描述含义.例如,英文句子"我是学生"将用中文表示" ...

  10. php scws 获取分词结果,php实现scws中文分词搜索的方法

    本文实例讲述了php实现scws中文分词搜索的方法.分享给大家供大家参考,具体如下: 1.4个文件(本站下载地址.)解压后,放到一个地方 eg:E:/wamp/scws 2.php.ini 中配置 e ...

最新文章

  1. oauth_client_details的值怎么添加_17.八年级数学:怎么求CDM周长的最小值?最短路径问题,经典考题...
  2. 第一册:lesson seventeen。
  3. 编译时异常和运行时异常的区别
  4. python不需要定义函数后使用_python自定义函数可以向前引用不用声明
  5. POJ-2065 SETI 高斯消元,扩展GCD
  6. layui循环数据并渲染_从简单到复杂三维图形渲染管线
  7. HashCode和hashMap、hashTable
  8. USACO2.1【bfs,排序,贪心,dfs,位运算】
  9. SonarQube 规则的挂起与激活
  10. ubuntu16.04 kinetic外接Intel Realsense D435i配置教程
  11. mysql创建视图不允许子查询
  12. 计算机网络学习笔记(12. 计算机网络体系结构概述)
  13. ASP.NET Core Web多语言项目
  14. 12. 表数据入口(Table Data Gateway)
  15. 种子文件多服务器,别再问我什么是 BT 种子了!一次性全告诉你
  16. cass软件yy命令_南方CASS软件快捷命令大全,高手必备。。。
  17. 也谈谈如何胜任中小型公司的技术总监
  18. Python 农历公历日期转换
  19. 【UE4大数据可视化教程序章一】——生成城市与道路模型
  20. 【原创】php ssh2 远程秘钥登录华三防火墙F5030

热门文章

  1. python爬取拉勾网职位信息_Python爬虫:拉勾网Python的职位信息爬取
  2. stl map 查找不到返回什么_STL 容器结构和分类
  3. matlab剪切板中内容清除,如何清空剪贴板内容?剪切板内容清理过程
  4. 安装版mysql数据库data在_MySQL 5.7版本的安装使用详细教程+更改数据库data的存储路径...
  5. 共模电感适用的频率_电感基础知识入门
  6. android 底部停靠 底部吸附_充压、泄压对吸附式干燥机的重要性
  7. linux安装配置samba服务,UbuntuLinux系统安装配置Samba服务
  8. 翻译: 4.1 多层感知器MLP Multilayer Perceptrons pytorch
  9. Java一套拳法刷掉n个遍历树的问题
  10. 2021-08-31为什么随机森林能降低方差