Solr具有拼写检查的功能,您只需修改solr的配置文件(solrconfig.xml)中spellcheck部分:
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<!--likehua 20121227 -->
<lst name="spellchecker">
<str name="classname">solr.FileBasedSpellChecker</str>
<str name="name">file</str>
<str name="sourceLocation">spellings.txt</str>
<str name="characterEncoding">UTF-8</str>
<str name="spellcheckIndexDir">spellcheckerFile</str>
</lst>
</searchComponent>
其中spelling.txt中,如果想加入汉字,确保为UTF-8 无BOM编码。
样例(一行一个单词)如下:
pizza
history
李克华
检索结果:
其中检索的关键字 在客户端需要用encodeURI编码一下。