Ik extension supports Solr configuration and ik extension Solr Configuration
Extend ik native code:
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, Reader input)
{
Tokenizer _ IKTokenizer = new IKTokenizer (input, this. useSmart );
Return _ IKTokenizer;
}
}
Re-package ik. The configuration information in solr is as follows:
<fieldType name="text_ik" class="solr.TextField"><analyzer type="index"><tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerTokenizerFactory" useSmart="false"/><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /></analyzer> <analyzer type="query"><tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerTokenizerFactory" useSmart="true"/><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /></analyzer></fieldType>