solr学习之(四)_solr4.2.0版本的spellCheck功能的实现
尽管solr4.2的spellcheck功能已经配置在solr\collection1\conf\solrconfig.xml文件中了,但是我一直没有正确地看到这个模块的效果。晚上再认真看了一下apache_solr_4_cookbook.pdf这本书,然后按照书本描述配置了一下。在solr4.0以前的版本中,spellcheck功能都需要构建自己的索引,每次配置后都需要更新索引,比较麻烦。而solr4.0以后,通过solr.DirectSolrSpellchecker就可以在main索引中直接用spellcheck功能了。通过观察solr-4.2.0\example\exampledocs\money.xml文件,我们可以看到里面有一个cat属性。
[*]
[*]USD
[*]One Dollar
[*]Bank of America
[*]boa
[*]currency
[*]Coins and notes
[*]1,USD
[*]true
[*]
我这里就以cat属性为例,学习一下solr4.2中实现spellcheck的功能。
第一步:把solrconfig.xml的
[*]
[*]……
[*]
[*]
[*]……
[*]
配置成如下:
[*]
[*] textSpell
[*]
[*] direct
[*] cat
[*] solr.DirectSolrSpellChecker
[*] internal
[*] 0.5
[*] 2
[*] 1
[*] 5
[*] 4
[*] 0.01
[*]
[*]
[*]
[*]
[*] text
[*] direct
[*] on
[*] true
[*] 10
[*] true
[*] true
[*]
[*]
[*] spellcheck
[*]
[*]
然后重启tomcat,在浏览器的地址栏输入:
http://localhost:8983/solr/spell?q=cat:currenc&spellcheck=true
我们就可以看到:
[*]
[*]
[*]0
[*]27
[*]
[*]
[*]
[*]
[*]
[*]1
[*]4
[*]11
[*]0
[*]
[*]
[*]currency
[*]4
[*]
[*]
[*]
[*]false
[*]
[*]cat:currency
[*]0
[*]
[*]currency
[*]
[*]
[*]
[*]
[*]
解析一下吧:我输入的q=cat:currenc实际上是没有拼写正确的,正确的应该是currency,cat表示索引的一个field。
所以呢,会有这样的结果反馈:
[*]false 表示拼写错误
[*]
[*]cat:currency
[*]0
[*]
[*]currency正确的结果应该是:currency。
So easy吧!
页:
[1]