如何让Apache Solr在文本文件中使用用户创建的字典来进行建议和拼写检查?

时间:2014-01-10 09:38:45

标签: solr lucene solr4

我有一个包含100,000个英文单词的文本文件..我正在使用Apache Solr 4.6。现在我想将这个单词列表文本文件用于建议和拼写检查..

如何实现这个目标?

在互联网搜索中,我找到了FileBasedSpellChecker组件......但没有找到关于它的详细说明......

由于我对Solr很新,请详细解释我。

worldlist.txt看起来像这样..

...
放弃者 放弃者 放弃了 放弃 放弃 放弃了 ABASE
..

1 个答案:

答案 0 :(得分:2)

这个主题有很多,所以你需要做一些自己的功课 - 你需要的一切都在Solr Wiki SpellCheck component页面上。

在高级别:Solr非常易于配置,您可以通过配置实现您想要的目标。

您确实对FileBasedSpellChecker感兴趣 - 再次,请参阅上面引用的Wiki页面。您只需在Solr实例中配置拼写检查组件即可使用您想要使用的文本文件。

拼写检查组件中的示例配置条目*可能如下所示:

<lst name="spellchecker">
  <str name="name">worldlist</str>
  <str name="field">some-field-in-your-index</str>
  <str name="spellcheckIndexDir">/path/to/worldlist.txt</str>
  <str name="buildOnCommit">true</str>
</lst>

*这是最小的,可能不包括您的用例所需的一切。因此,您需要熟悉Solr和拼写检查组件周围的所有可配置选项。

最后一点,要了解Solr不提供平面文件;它适用于搜索索引。拼写检查组件允许您引用平面文件,但在操作上它将转换为索引以供Solr使用。这需要一个索引构建,可以通过对请求附加 spellcheck.build = true 的拼写检查请求处理程序的一次性请求构建。