在为用户提供搜索服务时,为了提供更好的用户体验,我们需要很好的处理同义词搜索。
例如用户在搜索的关键词中含有“1”,需要将其转为为“一”,这时可以采用以下的方式去实现:
首先,配置schema.xml文件,定义相应的域类型
<fieldtype name="text_search" class="solr.TextField" omitNorms="true"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldtype>
synonyms.txt:
1 => 一