你的位置:首页 > Java教程

[Java教程]ik扩展支持Solr配置


扩展ik原生代码:
public class IKAnalyzerTokenizerFactory extends TokenizerFactory
{
private boolean useSmart;

public boolean useSmart()
{
return this.useSmart;
}

public void setUseSmart(boolean useSmart) {
this.useSmart = useSmart;
}

public IKAnalyzerTokenizerFactory(Map<String, String> args) {
super(args);
assureMatchVersion();
setUseSmart(((String)args.get("useSmart")).toString().equals("true"));
}

public Tokenizer create(AttributeSource.AttributeFactory factory, Reader input)
{
Tokenizer _IKTokenizer = new IKTokenizer(input, this.useSmart);
return _IKTokenizer;
}
}

将ik重新打包,solr中配置信息如下:

<fieldType name="text_ik" >	<analyzer type="index">			<tokenizer useSmart="false"/>			<filter synonyms="synonyms.txt" ignoreCase="true" expand="true"/>			<filter ignoreCase="true" words="stopwords.txt" />		</analyzer> 		<analyzer type="query">			<tokenizer useSmart="true"/>			<filter synonyms="synonyms.txt" ignoreCase="true" expand="true"/>			<filter ignoreCase="true" words="stopwords.txt" />		</analyzer></fieldType>