solrsolr6 ik分词器 下载怎样取消英文字母和数字分词

经检测你所在的网络可能存在爬虫,因资源限制,我们只能拒绝你的请求。
如果你是推酷的用户,可以以继续访问使用。
如有疑问,可将IP信息发送到
请求解封。1、在solr的web中:\WEB-INF目录下新增一个文件夹:classes
2、新增一个文件:IKAnalyzer.cfg.xml
&span style=&font-size:18&&&?xml version=&1.0& encoding=&UTF-8&?&
&!DOCTYPE properties SYSTEM &/dtd/properties.dtd&&
&properties&
&comment&IK Analyzer 扩展配置&/comment&
&!--用户可以在这里配置自己的扩展字典 my.dic即为扩展分词库,分词库可以为多个,以分号隔开即可。停止词库一样--&
&entry key=&ext_dict&&my.&/entry&
&!--用户可以在这里配置自己的扩展停止词字典--&
&entry key=&ext_stopwords&&stopword.&/entry&
&/properties&&/span&
3、classes下新增my.dic文件。文件格式必需是:无BOM的UTF-8格式,示例内容为:
&span style=&font-size:18&&么么哒&/span&
4、classes下新增文件stopword.dic。文件格式必需是:无BOM的UTF-8格式,示例内容为:
&span style=&font-size:18&&即使
如果&/span&
5、保存,重启solr,测试结果如下:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:17012次
排名:千里之外
原创:12篇
转载:10篇
(5)(9)(2)(6)经检测你所在的网络可能存在爬虫,因资源限制,我们只能拒绝你的请求。
如果你是推酷的用户,可以以继续访问使用。
如有疑问,可将IP信息发送到
请求解封。Solr&4.9配置IKAnalyzer中文分词
从继续学习
1.将IK分词器的jar包放到/Tomcat/webapps/solr/WEB-INF/lib
2.配置solr\collection1\conf\schema.xml文件,粘帖如下代码:
&fieldType
name="text_ik" class="solr.TextField"&
type="index" class="org.wltea.analyzer.lucene.IKAnalyzer" /
& &/fieldType&
&& field name="ik" type="text_ik"
indexed="true" stored="true" multiValued="false"
3.启动服务,访问http://localhost:8080/solr/#/collection1/analysis
4配置智能分词,创建两个新类
IKAnalyzerWithSmart.java:
package org.wltea.analyzer.
import java.io.R
import org.apache.lucene.analysis.A
import org.apache.lucene.analysis.T
public final class IKAnalyzerWithSmart extends Analyzer{
private boolean useSmart =
public boolean useSmart() {
return useS
public void setUseSmart(boolean useSmart) {
this.useSmart = useS
public IKAnalyzerWithSmart(){
this(true);
public IKAnalyzerWithSmart(boolean useSmart){
this.useSmart = useS
protected TokenStreamComponents createComponents(String fieldName, final Reader in) {
Tokenizer _IKTokenizer = new IKTokenizer(in , this.useSmart());
return new TokenStreamComponents(_IKTokenizer);
IKAnalyzerWithoutSmart.java:
package org.wltea.analyzer.
import java.io.R
import org.apache.lucene.analysis.A
import org.apache.lucene.analysis.T
public final class IKAnalyzerWithoutSmart extends Analyzer{
private boolean useSmart =
public boolean useSmart() {
return useS
public void setUseSmart(boolean useSmart) {
this.useSmart = useS
public IKAnalyzerWithoutSmart(){
this(false);
public IKAnalyzerWithoutSmart(boolean useSmart){
this.useSmart = useS
protected TokenStreamComponents createComponents(String fieldName, final Reader in) {
Tokenizer _IKTokenizer = new IKTokenizer(in , this.useSmart());
return new TokenStreamComponents(_IKTokenizer);
5.配置solr\collection1\conf\schema.xml文件,粘帖如下代码:
&fieldType
name="text_ik" class="solr.TextField"&
type="index"
class="org.wltea.analyzer.lucene.IKAnalyzerWithoutSmart"
type="query" class="org.wltea.analyzer.lucene.IKAnalyzerWithSmart"
&&&/fieldType&
name="ik" type="text_ik" indexed="true" stored="true"
multiValued="false" /&
6.重新启动服务,访问http://localhost:8080/solr/#/collection1/analysis
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。& & & 用过Lucene.net的都知道,我们自己搭建索引服务器时和解决搜索匹配度的问题都用到过盘古分词。其中包含一个词典。 那么既然用到了这种国际化的框架,那么就避免不了中文分词。尤其是国内特殊行业比较多。比如油田系统从勘探、打井、投产等若干环节都涉及一些专业词汇。 再像电商,手机、手机配件、笔记本、笔记本配件之类。汽车,品牌、车系、车型等等,这一系列数据背后都涉及各自领域的专业名次,所以中文分词就最终的目的还是为了解决搜索结果的精确度和匹配度的问题。
IK搜索预览
& & &我的univeral Core里包含两条数据,第二条数据的title和author都是中文的。 然后我用关键字q=title:平凡来搜索,搜索出来第二条数据。 如果你在你的索引库里没搜索出来也不要奇怪,配置下IK中文分词就可以了。
中文语义分析
& & 在索引库Core左侧菜单Analysis中,你可以输入复杂的查询【关键字】,选择对应字段,点击【Analysis Values】会帮你分析出当前这个复杂的词组都会分解出那几个搜索关键字或关键词来。如果这里满足不了你的专业词汇,那就该从词典下手了。我这里输入了:平凡的世界。分析后得出两个词:平凡、世界。 也就是我在上一张图中用平凡搜索的结果。
中文分词的配置和使用
& & &1、下载对应IK版本。我本地部署的Solr5.5.1。 所以就下载最新版本。
& & &2、把ik目录下的文件复制到tomcat/webapps/solr/WEB-INF/lib目录下。 ik目录里有一个ext.dic、stopword.dic。 可以打开看一看里面内容。
& & &3、修改schema.xml。我本地是univeral/conf/managed-schema。 增加中文分词配置节点,内容如下
&fieldType name="text_ik" class="solr.TextField"&
&analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/&
&analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/&
&/fieldType&
& & & 4、修改对应field的类型。我修改了两个字段
&field name="title" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /&
&field name="author" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" /&
& & &参考教程:
& & 如果之前你已经创建了索引,那么配置IK中文分词后先修改schema.xml中的field对应类型。 清空索引后重新创建索引。 OK。大功搞成。
阅读(...) 评论()

我要回帖

更多关于 solr5.3 ik 分词配置 的文章

 

随机推荐