solr分词一:mmseg4j】的更多相关文章

刚接触Lucene2.x和Solr2.x的时候,谈到中文分词,会让我立即想到用庖丁中文分词,庖丁中文分词因巨大的中文词库以及支持不限制个数的用户自定义词库,而且是纯文本格式,一行一词,使用后台线程检测词库的更新,自动编译更新过的词库到二进制版本而出名. 几年过去了,Lucene和Solr都发展到了4.7.x版本,重拾中文分词,发现庖丁中文分词不再是首选,mmseg4j是更佳的选择. mmseg4j支持最多分词,是一款很优秀的中文分词器,是用Chih-Hao Tsai 的 MMSeg 算法( ht…
solr4.x虽然提供了分词器,但不太适合对中文的分词,给大家推荐一个中文分词器mmseg4j mmseg4j的下载地址:https://code.google.com/p/mmseg4j/ 通过以下几步就可以把mmseg4j分词器集成到solr中: 1.解压mmseg4j-1.9.1.zip,把dist下面的所有jar文件拷贝到你应用服务器下的solr/WEB-INF/lib中(如果你的应用服务器下面没有solr,请参考<solr部署到tomcat>). 2.拷贝data到solr_home…
solr 分词词库管理思路 大概有以下几种思路: 1. 自定义 SolrRequestHandler        由 SolrRequestHandler 来进行对分词器,进行A)词库加载B)动态添加词库 等操作        这样的话,还需要在内存中hold 住所有的词,或者需要引用到分词的jar 2. 在自定义分词器中实现从文件拉取        对词库文件设置FileWatcher,只要文件有变更,就重新加载一遍词库.        这个成本比较高. 3.  在自定义分词器中实现从db拉…
分词我理解的是,输入的一句话,按照它自己定义的规则分为常用词语. 首先,Solr有自己基本的类型,string.int.date.long等等.   对于string类型,比如在你的core/conf/manage-schema文件中,配置一个字段类型为string类型,如果查询符合“我是中国人”的数据,它就认为“我是中国人”是一个词语.   但是如果你将该字段设置成了分词,即配置成了text_ik类型,就可能匹配“我”.“中国人”.“中国”.“中”.“人”带有这些字的该字段数据都可能被查询到.…
代码如下: import java.io.IOException; import java.util.*; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerExcept…
默认Solr提供的分词组件对中文的支持是不友好的,比如:“VIM比作是编辑器之神”这个句子在索引的的时候,选择FieldType为”text_general”作为分词依据时,分词效果是: 它把每一个词都分开了,可以想象如果一篇文章这样分词的搜索的体验效果非常差.能够和Solr集成的中文分词组件有很多,比如:mmseg4j.IkAnalyzer.ICTCLAS等等.各有各的特点.这篇文章讲述如何整合Solr与mmseg4j.mmeseg4j最新版本是1.9.1,下载解压,提取其中的三个文件:mms…
关于solr7.4搭建与配置可以参考 solr7.4 安装配置篇  在这里我们探讨一下分词的配置 目录 关于分词 配置分词 验证成功 1.关于分词 1.分词是指将一个中文词语拆成若干个词,提供搜索引擎进行查找,比如说:北京大学 是一个词那么进行拆分可以得到:北京与大学,甚至北京大学整个词也是一个语义 2.市面上常见的分词工具有 IKAnalyzer MMSeg4j  Paoding等,这几个分词器各有优劣,大家可以自行研究 在这篇文章,我先演示IKAnalyzer分词器 下载:IKAnalyze…
Solr的schema.xml默认配置分词后条件取 OR 例如:大众1.6T  系统会自动分词为  [大众] [1.6T](ps:不同分词器分词效果不同)   会搜索出包含 [大众 OR  1.6T] 的结果. 想要让Solr搜索默认为    [大众 AND 1.6T] 则只需要修改solr\collection1\conf\schema.xml文件solrQueryParser节点 打开schema.xml文件,搜索<solrQueryParser defaultOperator="OR…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.ES 中的 IK 分词器能分中文和英语的原因是什么? ik分词器为中文分词器,默认可对中文分词:通过 Setting API 构造analyzer(字符过滤),可以对IK中文分词器做一些修改,让它实现回溯词根,从而实现真正的英文分词. ES默认有8个 analyzer. 2.IK分词器的类型? Ik_smart分词器 和 ik_max_word 分词器 最粗粒度最细粒度 3.ES中怎么进行拼音的分…
多核心的概念 多核心说白了就是多索引库.也可以理解为多个"数据库表" 说一下使用multicore的真实场景,比若说,产品搜索和会员信息搜索,不使用多核也没问题,这样带来的问题是 indexs文件很多,而且产品的索引文件和会员信息的索引文件混在一起,备份也是个问题. 如果使用了多核,那就很轻松了,产品和会员就可使用不同的URL进行提交了,业务上也很清晰,生成的索引文件也不会混在一起,也容易备份. 每个索引库通过相对独立的url访问. 多核心的配置 还记得solr home吗,既然配置多…