解决方案 »
- 使用memcached+tomcat6配置集群时出错
- 怎样JSP 用FLASH播放即时数据流
- 询问一个Struts 关于Jsp 发送对象给 Action的问题
- 一对多关系的数据,比如订单和订单商品,要一起显示订单和其商品信息,怎么样查询最优
- 高手快来啊,帮我看看啊~急死了!
- jquery easyui datagrid title乱码的问题
- proxool的问题,无法通过parsing
- Struts框架:我有一个日期formbean,前台查询日期有两个参数(从xx到xx),我该如何接收呢?
- smartupload升级处理?? 编译??在线等
- 屏蔽中间提交页面的方法????
- 前台页面跳转处理
- 求一段js撤销操作返回到某事件之前状态的代码
这个应该是 <str name="spellcheck.dictionary">default</str>
dictionary 设置的问题
就是 前面对应的这个
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">text</str>
...
</lst>
这个是用 solr 中的 text 内容作为词典来做拼写检查的,具体我还没搞清楚
用下面的 文件 dictionary 比较容易一点把这个 spellchecker (就是 requestHandler 中 的 spellcheck.dictionary)的注释去掉,
sourceLocation 的 spellings.txt 在你的 solrhome 的conf文件夹下,
跟 solrConfig.xml 在一起,在其中添加词语作为词典,一行只写一个。
比如 iloveyou
<lst name="spellchecker">
<str name="name">file</str>
<str name="classname">solr.FileBasedSpellChecker</str>
<str name="sourceLocation">spellings.txt</str>
<str name="characterEncoding">UTF-8</str>
<str name="spellcheckIndexDir">spellcheckerFile</str>
</lst>把 <str name="spellcheck.dictionary">default</str>
改为 <str name="spellcheck.dictionary">file</str>
启动 solr
查询中 指定 spellcheck.dictionary=file
spellcheck.build=true 这个参数只在第一次查询时使用
http://localhost:8080/solr/spell?q=ilovyou&spellcheck=true&spellcheck.collate=true&spellcheck.dictionary=file&spellcheck.build=true可以试下看看,这是直接用文件内容作为 词典的
默认的是使用 solr text 字段的内容作为字典。详情参考 solr wiki SpellCheckComponent
http://wiki.apache.org/solr/SpellCheckComponent/