文档章节

在solr4.x上使用IK分词设置useSmart没有效果的解决方案

旗舰
 旗舰
发布于 2013/12/27 11:09
字数 274
阅读 422
收藏 0

大家知道由于lucene和solr在最新版本在分词方面改动比较大,在solr4.x上使用IK分词,并且设置粗细力度,安装官方的说法是这样设置的:

结果发现建索引和查询时候的分词力度是一样的,默认是安装细力度分词,解决方案如下:

package org.apache.solr.analysis;


import java.io.Reader;

import java.util.Map;


import org.apache.lucene.analysis.Tokenizer;

import org.apache.lucene.analysis.util.TokenizerFactory;

import org.apache.lucene.util.AttributeSource.AttributeFactory;

import org.wltea.analyzer.lucene.IKTokenizer;


/**

 * 解决IK Analyzer 2012FF_hf1 在solr4.x应用时,配置useSmart失效的问题

 * 

 * @author  lqin

 * @date 2013-12-24

 * @email  qin.liang@sinovatio.com

 * @version  1.0

 * 

 */

public class IKAnalyzerSolrTokenizerFactory extends TokenizerFactory {


/**

* 构造函数,从参数里面读取配置

* @param args

*/

public IKAnalyzerSolrTokenizerFactory(Map<String, String> args) 

{

super(args);

assureMatchVersion();

// 设置分词力度,useSmart=true粗力度,useSmart=false细力度

this.setUseSmart("true".equals(args.get("useSmart")));

}

private boolean useSmart;

public boolean useSmart() 

{

return useSmart;

}

public void setUseSmart(boolean useSmart) 

{

this.useSmart = useSmart;

}

public void init(Map<String, String> args) {

this.useSmart = "true".equals(args.get("useSmart")) ;

}

@Override

public Tokenizer create(AttributeFactory factory, Reader input) 

{

Tokenizer _IKTokenizer = new IKTokenizer(input , this.useSmart);

        return _IKTokenizer;

}


}


修改配置:


© 著作权归作者所有

旗舰
粉丝 2
博文 6
码字总数 9737
作品 0
东城
其他
私信 提问
加载中

评论(3)

12小白
12小白
嘿嘿,我这个suggest实现了。但是这个facet真是醉了,出现的*******getFacetRanges*******
  getFacetRanges=[org.apache.solr.client.solrj.response.RangeFacet$Date@b81497]
name=tstamp  start=Sun Nov 30 11:44:33 CST 2014  end=Tue Mar 31 11:44:33 CST 2015  gap=+2HOUR
*******getFacetDates*******
  facetsDates=[]
旗舰
旗舰 博主

引用来自“12小白”的评论

请问,solrj facet 如何根据日期分类?Solrj 如何根据输入的关键词进行统计次数?solrj suggest怎么做

额,你说的这些都是基本功能,可以参考官方说明和例子来做哦
12小白
12小白
请问,solrj facet 如何根据日期分类?Solrj 如何根据输入的关键词进行统计次数?solrj suggest怎么做

solr4.6中使用Ik分词,配置useSmart失效

@linliangyi 你好,我在solr4.6上使用IK分词,配置useSmart没有效果,请问一下是我的使用方式不对吗?

旗舰
2013/12/24
2.1K
3
solr5.4 配置ik分词器

说明:只针对solr5.4 安装请参见这里 IK分词非常好用,网上很多通用的配置,这里主要讲解如何配置自己的扩展词典。 这里整理了一份配置与相关文件,放在了git上可以去直接下载。 https://gi...

GarenBean
2016/07/05
130
0
solr配置分词字段总不成功

java调用分词,已经实现配置如下 但 query.setQuery("title:*中国人民*"); 查不出title含有”中国“的项

Muching小冰块
2016/12/05
645
4
Solr 7.X 安装和配置--Linux篇

阅读目录: 1. 关闭防火墙和Selinux 2. 安装所需环境JDK 3. 下载Solr7.4版本 4. 下载并配置solr的中文分词器IK Analyzer 5. 启动Solr 6. 注意事项以及说明 1. 关闭防火墙和Selinux Linux的防...

loubobooo
2018/07/09
1.3K
0
Elasticsearch 5 Ik+pinyin分词配置详解

一、拼音分词的应用 拼音分词在日常生活中其实很常见,也许你每天都在用。打开淘宝看一看吧,输入拼音”zhonghua”,下面会有包含”zhonghua”对应的中文”中华”的商品的提示: 拼音分词是根据...

napoay
2016/12/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

node.js中__dirname和./有什么区别?

在Node.js中编程并引用位于与当前目录相关的文件时,是否有任何理由使用__dirname变量而不仅仅是常规./ ? 到目前为止,我一直在使用./并且刚刚发现了__dirname的存在,并且基本上想知道将....

javail
14分钟前
17
0
Hive安装

下载上传apache-hive-2.1.1-bin.tar.gz文件并解压 tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /export/servers 配置环境变量 vi /etc/profileexport HIVE_HOME=/export/servers/apache......

长臂猿猴
20分钟前
11
0
OS X:相当于Linux的wget

如何从库存OS X系统上的Un * x shell脚本执行HTTP GET? (安装第三方软件不是一种选择,因为这必须在我无法控制的许多不同系统上运行)。 例如,如果我在本地启动Mercurial服务器执行hg服务...

技术盛宴
30分钟前
25
0
Fedora 31 - 荣耀魔法本问题记录

最近荣耀魔法本装了Fedora31系统,没有像Deepin 15.11那样出现亮度不能调节和网卡不能用的问题。但是也有不少小问题: 触摸板有时启动后失效,需要重启。 触摸板的右键失效。 待机后进入桌面...

wffger
33分钟前
14
0
ElasticSearch深入:内部机制浅析(三)@

前言 上篇从分布式的角度阐述了 ES 的分布式设计和思想,这一篇打算与 Lucene 结合起来,摸透一些 ES 的常遇到的概念,我们可以将了解到的这些东西应用到优化实践中去。 一、Shard Shard 实际...

HLee
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部