lucene应用心得以及几种中文分词器的使用比对

比较全的IKAnalyzer分词器中文停用词 stopwords.dic 内容直接拷贝进stopword.dic即可使用(2614行常用停用词包含中英文,符号等) 立即下载

lucene应用心得以及几种中文分词器的使用比对:

1、创建索引和关键字搜索在不同的系统中运行出现的问题

如果将创建索引和关键字搜索分别写在后台和前台系统,然后分别将这两套系统部署在同一个应用服务器下面( 如同一个tomcat6.0),在会出现一下现象:,(a)当点击后台的创建索引,运行正常,这时,在点击前台的关键词搜索则就报异常 (b)点击前台的搜索(之前已经创建好索引),运行正常,这时,在后台点击创建索引。在(a)(b)这两种情况下都出现异常:
“java.lang.OutOfMemoryError: Java heap space” ,异常信息如下 :
2011-6-1 14:34:00 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet springmvc threw exception
java.lang.OutOfMemoryError: Java heap space
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:167)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:156)
at org.wltea.analyzer.dic.Dictionary.loadMainDict(Dictionary.java:97)
at org.wltea.analyzer.dic.Dictionary.<init>(Dictionary.java:71)
at org.wltea.analyzer.dic.Dictionary.<clinit>(Dictionary.java:41)
at org.wltea.analyzer.cfg.Configuration.loadSegmenter(Configuration.java:110)
at org.wltea.analyzer.IKSegmentation.<init>(IKSegmentation.java:54)
at org.wltea.analyzer.lucene.IKTokenizer.<init>(IKTokenizer.java:44)
at org.wltea.analyzer.lucene.IKAnalyzer.tokenStream(IKAnalyzer.java:45)
at org.apache.lucene.analysis.Analyzer.reusableTokenStream(Analyzer.java:52)
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:126)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at com.fasdq.fangdake.index.IndexNews.buildDocument(IndexNews.java:210)
at com.fasdq.fangdake.index.IndexNews.createIndexIKAnalyzer(IndexNews.java:55)
故经各方面分析以及测试得出结论:创建索引,和关键字搜索在两个系统中的时候,要分开部署在两个tomcat下面,这样子就不会出现任何问题。

2、几种中文分析器的分析(PaodingAnalyzer IKAnalyzer):

/**
 * 分词器比较:
 * PaodingAnalyzer IKAnalyzer
 * 1)关键字为"海淀 区"时候
 * PaodingAnalyzer:' body:海淀 body:区 '
 * IKAnalyzer:' (body:海淀 body:区) '
 * 两者都可以搜到"6:海淀北京你好"
 * 2)关键字为"海淀区"时候
 * PaodingAnalyzer:' body:"海淀 海淀区" '
 * IKAnalyzer:' (body:海淀区 body:海淀 body:淀区) '
 * 仅有IKAnalyzer可以搜到"6:海淀北京你好"
 */

此外还测试过mmseg4j-1.8.2分词器,结果和PaodingAnalyzer 类似,但是分词结果并没有PaodingAnalyzer 多,如:

"山东北京" mmseg4j-1.8.2分词后是:"山东  北京" ,而PaodingAnalyzer 则是:"山东  东北  北京" 。但是庖丁解牛分析器配置比较复杂。

经过以上实验,感觉IKAnalyzer 比较好用。

第1集:面试官视角:AIOps 核心能力模型与面试项目全局搭建【免费试读】 本文介绍了一门面向AIOps工程师的面试实战课程,针对当前运维领域薪资差距明显的痛点,帮助学员系统掌握企业级AIOps平台开发能力。课程承诺提供可直接用于面试和生产环境的代码实现,从零构建模块化AIOps平台。第一集重点讲解了面试官视角下的核心能力模型,并指导学员搭建项目基础环境,包括Python虚拟环境配置、本地大模型部署(Ollama)以及智能巡检Agent的代码实现。课程强调实战导向,通过40集系统讲解,帮助学员实现薪资40-60万的职业跃升。 阅读详情

相关推荐

机械臂开发必备:KDL库正逆解与动力学实战指南

在机器人算法领域,运动学与动力学计算是机械臂控制、仿真与轨迹规划的核心基础。正运动学描述关节空间到笛卡尔空间的映射,逆运动学则需要求解复杂的非线性方程,工程实现时常面临数值稳定性与调试效率的挑战。KDL(Kinematics and Dynamics Library)作为ROS生态中广泛使用的开源库,提供了统一的模型描述与高效求解器,将正逆解、雅可比矩阵及动力学参数计算封装为简洁接口,大幅降低开发门槛。无论是机械臂的笛卡尔空间轨迹跟踪,还是基于动力学模型的前馈控制,KDL都展现出强大的工程价值。本文从运动学

weixin_33860528的博客 2505

windows 下 es安装ik后报错无法启动

1、没有安装分词器时可以正常启动 2、在安装分词器后就报错了 错误信息: Exception in thread "main" java.security.AccessControlException: access denied ("java.io.FilePermission" "D...

u011196623的专栏 1093

统信UOS V20 安装mysql5.7.42详细教程

到bin/下,执行下面的命令,初始化mysql服务信息,得到数据库的初始密码,实际如果目录不一样记得换成自己的目录。下载后通过远程将安装包上传至服务器,我这里将安装包上传至/usr/local/mysql 下。ps:这时候如果还是不能远程访问的话,可能是防火墙的原因,命令行执行以下命令即可。再次登录,发现缺少 libtinfo.so.5文件,再次建立软连接。登录,发现报错,提示缺少libncurses.so.5文件,使用。创建 /var/lib/ 下mysql目录。登录成功,修改密码,设置远程访问。

为谁伫立在风中 1万+

java——lucene实现全文检索(二)建立索引时分词器的选择

一篇比较完整的分词器比较文章:Lucene的各中文分词比较 StandardAnalyzer : Lucene自带的标准分析器 效果为一元分词 为了实现单字检索选择了该分词器 IKAnalyzer: 提供两种分词模式:细粒度分词和智能分词 按词拆分 能够较好的分为词 但是高版本lucene与 IKAnalyzer 冲突会报错 Exception in thread "main"...

yilia_jia的博客 604

Python 爬虫:获取网页数据的 5 种方法

requests:适用于简单的静态网页抓取,易于使用。requestslxml:适合需要高效解析大规模网页内容的情况,支持 XPath 和 CSS 选择器。Selenium:适用于动态网页(JavaScript 渲染)的抓取,模拟浏览器行为获取动态数据。Scrapy:强大的爬虫框架,适合大规模的网页抓取任务,支持异步请求和高级功能。PyQuery:基于 jQuery 语法,适合快速开发,提供简洁的 CSS 选择器语法。

想看什么文章都可以私信给我,综合性博客。 5513

Cherry Studio部署MCP服务报错全记录:从零解决‘Connection closed‘问题

本文详细记录了在Cherry Studio中部署MCP服务时遇到‘Connection closed’报错的完整排查与解决过程。文章从环境依赖(UV、Bun)的安装验证、绝对路径配置、网络镜像源设置,到服务端手动调试与Cherry Studio配置检查,提供了一套系统性的解决方案,帮助开发者彻底解决此类连接问题。

g9h0i1的博客 761

java.lang.OutOfMemoryError: Java heap space

问题描述: 2015-7-16 10:17:26 org.apache.tomcat.util.net.NioEndpoint$Poller run 严重: java.lang.OutOfMemoryError: Java heap space at java.util.HashMap.newKeyIterator(HashMap.java:840) at java.util.HashMa

沈荣荣的博客 2628

常用的数据结构以及常用的算法

常用的数据结构以及常用的算法 常用数据结构 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 数据结构往往同高效的检索算法和索引技术有关。 一、线性表 线性结构: 最常用、最简单的一种数据结构。 线性表: 典型的线性结构。基本特点是线性表中的 数据元素有序且有限。结构中: ① 存在一个唯一的被称为“第一个”的数据元素; ② 存在一个唯一的被称为“最后一个”的数据元素; ③ 除第一个元素外,每

qq_47605698的博客 1446

基于腾讯云轻量服务器构建私有文件管理中心的实战指南

文件管理是个人开发者与小型团队面临的核心挑战,涉及数据的存储、同步与安全访问。其技术原理通常围绕服务器、存储方案与网络服务展开,通过构建私有化的云存储方案,可以实现对数据的完全掌控,规避公有云服务的限速与隐私风险。这一实践的技术价值在于,它利用容器化、反向代理与自动化运维等现代DevOps工具,将通用云服务器转化为高可用、易扩展的私有基础设施。典型的应用场景包括个人文件备份与同步、团队项目文档共享以及家庭媒体中心搭建。本文以“腾讯云轻量应用服务器”和“文件管理”为核心,详细拆解了从服务器初始化、Docker

weixin_33827731的博客 327

ADT MCP Server 把 ABAP 开发带进 Agent 模式

今天讨论 ADT MCP Server,不能只把它看成 Visual Studio Code 里多出来的一个开关。它真正有意思的地方,在于它把 ABAP 后端开发里那些原本需要手工点击、手工创建、手工激活、手工查服务元数据的动作,包装成一组可以被 GitHub Copilot 这类 coding agent 调用的工具。SAP 在 RAP130 练习里把它描述为运行在 ADT for Visual Studio Code 扩展内部的本地 HTTP Server,它实现的是 Model Context Pro

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 182

2024年ERP管理系统职业技能大赛软件测试赛项-测试报告

【说明本次测试的最终测试结果总结、测试过程中遇到的重要问题以及如何解决、被测系统的质量结论、个人的收获以及团队的得失等】【说明编写本测试报告的目的和实际读者】【说明本次测试实际人员安排及主要职责】【说明本次测试使用的测试用例设计方法】【说明本次测试使用的测试方法】【针对本次测试进行Bug汇总】【针对本次测试进行用例汇总】【说明本项目的背景情况】【说明本次测试的实际。

Code is fun. 787

Lucene5中编写自定义同义词分词器(基于IK中文分词器)二

自定义基于IK分词器的同义词分词器

daelly的专栏 942

新能源汽车动力总成研发测试技术全景深度报告(2025版)

本文所有企业案例数据均来自上市公司财报、工信部备案信息及权威媒体报道,技术参数经第三方检测报告交叉验证。研发测试人员能力矩阵重构(T型人才进阶路径)[10] 全球动力总成市场2035年预测报告。[9] NI电动汽车HIL测试架构技术文档。[3] 东风汽车智能化研发体系深度报告。[5] 混合动力测功机发明专利技术细节。[1] 领克动力总成试验中心技术解析。[7] 新能源汽车产业迭代趋势白皮书。测试架构师-数字工程。测试架构师-安全合规。测试架构师-人工智能。

优快云-新能源汽车研发测试专业博主 776

Lucene之中文分词器

注意: 在lucene 4.6.0以上版本使用IKAnalyzer时可能会出现以下异常: java.lang.illegalstateexception:tokenstream contract violation: reset()/close() call missing, reset() calledmultiple times, or subclass does not call ...

张育嘉的博客 992

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

中文分词器

什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开。而中文则以字为单位,字又组成词,字和词再组成句子。所以对于英文,我们可以简单以空格判断某个字符串是否为一个单词,比如I love China,love和China很容易被程序区分开来;但中文“我爱中国”就不一样了,电脑不知道“中国”是一个词语还是“爱中”是一个词语。把中文的句子切分成有意义的词,就...

年轻就是资本的专栏 763

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Lucene的中文分词器

1什么是中文分词器    学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开。   而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分。   所以需要一个能自动识别中文语义的分词器。 2.Lucene自带的中文分词器    StandardAnalyzer       单字分词:就是按照中文一个字一个字地进行分词。如:“我爱中国”, ...

weixin_34234823的博客 265

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Lucene分词器,使用中文分词器,扩展词库,停用词

停止词:lucene的停止词是无功能意义的词,比如is 、a 、are 、”的”,“得”,“我” 等,这些词会在句子中多次出现却无意义,所以在分词的时候需要把这些词过滤掉。   扩展词库:就是不想让哪些词被分开,让他们分成一个词。     同义词:假设有一个电子商务系统,销售书籍,提供了一个搜索引擎,一天,市场部的人要求客户在搜索书籍时,同义词就是比如输入“电子”,除了展示电子相关的书籍

xiaomin1991222的专栏 1955

一步一步跟我学习lucene(4)---lucene的中文分词器jcseg和IK Analyzer分词器及其使用说明

为什么要使用lucene中文分词器 在lucene的开发过程中,我们常会遇到分词时中文识别的问题,lucene提供了  lucene-analyzers-common-5.0.0.jar包来支持分词,但多的是对英国,法国,意大利等过语言的支持, 因此我们需要引入中文分词的概念。 各种中文分词器及其对比 jcseg中文分词器 jcseg是使用Java开发的一款开源的中文分词器, 使

wuyinggui的专栏 6113

Lucene使用(四)中文分词器smartcn

Lucene自带多种分词器,其中对中文分词支持比较好的是smartcn。 1. 标准分词器StandardAnalyzer 在演示smartcn中文分词器之前,先来看看Lucene标准分词器对中文分词的效果。需要的jar为\lucene-5.5.5\core\下的lucene-core-5.5.5.jar和\lucene-5.5.5\analysis\common\下的lucene-analy

xxpsw的博客 7308

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

目录 Ik-Analyzer 简介 GoogleCode 官网介绍 IK Analyzer 2012 特性 版本兼容 Ik-Analyzer 使用 Ik-Analyzer 下载 导入开发包 创建索引 查询索引 官方示例 Ik-Analyzer 简介 GoogleCode 开源项目 :http://code.google.com/p/ik-analyzer/,开发包下载地址:...

蚩尤后裔-汪茂雄 3万+

Lucene 3下最快的中文分词器

Lucene 3下最快的中文分词器 lucene 3下最快的中文分词器 - zzzhc's BlogLucene 3下最快的中文分词器Jun 19th, 2011包包分词器 - 一个基于字典的快速中文分词器source codegithub projectf...

93

lucene三---中文分词器

1.1. 中文分析器 1.1.1.  Lucene自带中文分词器 l  StandardAnalyzer: 单字分词:就是按照中文一个字一个字地进行分词。如:“我爱中国”, 效果:“我”、“爱”、“中”、“国”。 l  CJKAnalyzer 二分法分词:按两个字进行切分。如:“我是中国人”,效果:“我是”、“是中”、“中国”“国人”。   上边两个分词器无法满足需求。 l  S

youfashion的博客 1063

lucene使用IKAnalyzer3.2.8中文分词器进行索引的一个小例子

使用IKAnalyzer3.2.8中文分词器进行索引,并进行搜索的一个小例子。 例子需导入IKAnalyzer3.2.8.jar包以及lucene相关的包,例子中我用的lucene包为lucene-core-3.4.0.jar。 package com.ik; import org.apache.lucene.analysis.Analyzer; import org.apache.lu

yyunix的专栏 2023

Lucene中的Field域、索引维护、搜索、相关度排序和中文分词器讲解

如果希望某些文档更重要,当此文档中包含所要查询的词则应该得分较高,这样相关度排序可以排在前边,可以在创建索引时设定文档中某些域(Field)的boost值来实现,如果不进行设定,则Field Boost默认为1.0f。词(Term)在文档中出现的次数越多,说明此词(Term)对该文档越重要,如“Lucene”这个词,在文档中出现的次数很多,说明该文档主要就是讲Lucene技术的。更新索引是先删除再添加,建议对更新需求采用此方法并且要保证对已存在的索引执行更新,可以先查询出来,确定更新记录存在执行更新操作。

write less , do more 3619

课堂笔记 - Lucene - 中文分词器

v 什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开。 而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分。 所以需要一个能自动识别中文语义的分词器。 Lucene自...

chengjiexing7464的博客 235

lucene6.6 学习心得

##前言 学习的资料是 lucene 4.10 版本,比较沉旧,查阅最新的 lucene 版本 6.6 的官方文档,整理出以下几个使用中的不同。 从浅入深依次为 (注:不是根据版本先后) IndexWriterConfig 的构造方法 Directory 的生成方法 FSDirecto...

chenghouba2966的博客 300
上一篇: PaodingAnalyzer使用方法以及配置步骤
下一篇: excel文件直接导入mysql数据库的方法
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值