solr4.3默认的分词器

2024-03-18 19:38
文章标签 默认 分词器 solr4.3

本文主要是介绍solr4.3默认的分词器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

solr4.3默认的分词器是一元分词器,这个本来就是对英文进行分词的,英文大部分就是典型的根据空格进行分词,而中文如果按照这个规则,那么显然是要有很多的冗余词被分出来,一些没有用的虚词,数词,都会被分出来,影响效率不说,关键是分词效果不好,所以可以利用solr的同步发行包smartcn进行中文切词,smartcn的分词准确率不错,但就是不能自己定义新的词库,不过smartcn是跟solr同步的,所以不需要额外的下载,只需在solr的例子中拷贝进去即可,下面给出路径图和安装solr4.3的smartcn分词过程
无论安装那种分词器,大部分都有2个步骤,第一步是拷贝jar包到solr的lib中



Java代码 复制代码  收藏代码
  1. C:\桌面\solr-4.3.0\contrib\analysis-extras\lucene-libs  
  2. F:\eclipse10tomcat\webapps\solr\WEB-INF\lib  
  3. smartcn的同步发行包:lucene-analyzers-smartcn-4.3.0.jar  
C:\桌面\solr-4.3.0\contrib\analysis-extras\lucene-libs
F:\eclipse10tomcat\webapps\solr\WEB-INF\lib
smartcn的同步发行包:lucene-analyzers-smartcn-4.3.0.jar




这个弄好之后,就需要在schemal.xml文件中,注册分词器了



Java代码 复制代码  收藏代码
  1. <fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">  
  2.       <analyzer type="index">  
  3.        <!-- 此处需要配置主要的分词类 -->  
  4.         <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>  
  5.         <!--    
  6.         <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
  7.         <filter class="solr.LowerCaseFilterFactory"/>   
  8.         -->  
  9.         <!-- in this example, we will only use synonyms at query time  
  10.         <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>  
  11.       -->  
  12.           
  13.         <filter class="solr.SmartChineseWordTokenFilterFactory"/>  
  14.             
  15.       </analyzer>  
  16.       <analyzer type="query">  
  17.       <!-- 此处配置同上 -->  
  18.         <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>  
  19.             <!--   
  20.         <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
  21.         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>  
  22.         <filter class="solr.LowerCaseFilterFactory"/>  
  23.         -->  
  24.         <filter class="solr.SmartChineseWordTokenFilterFactory"/>  
  25.            
  26.       </analyzer>  
  27.     </fieldType>  
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><!-- 此处需要配置主要的分词类 --><tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/><!--  <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /><filter class="solr.LowerCaseFilterFactory"/> --><!-- in this example, we will only use synonyms at query time<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>--><filter class="solr.SmartChineseWordTokenFilterFactory"/></analyzer><analyzer type="query"><!-- 此处配置同上 --><tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/><!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/>--><filter class="solr.SmartChineseWordTokenFilterFactory"/></analyzer></fieldType>





最后在引用一下字段类型就可以了

Java代码 复制代码  收藏代码
  1. <field name="sma" type="text_smart" indexed="true" stored="true" multiValued="true"/>  
<field name="sma" type="text_smart" indexed="true" stored="true" multiValued="true"/>




访问http://localhost:8080/solr/#/collection1点击分词分析即可查看分词效果 

这篇关于solr4.3默认的分词器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823431

相关文章

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

PyCharm如何设置新建文件默认为LF换行符

《PyCharm如何设置新建文件默认为LF换行符》:本文主要介绍PyCharm如何设置新建文件默认为LF换行符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录PyCharm设置新建文件默认为LF换行符设置换行符修改换行符总结PyCharm设置新建文件默认为LF

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,