建立solr字典索引

时间:2013-11-29 20:16:00

标签: java solr spell-checking

我正在使用FileBasedDictionaryIndex。我有两个文件。我在solrconfig中使用标准请求处理程序设置了searchcomponent,并在模式中使用适当的过滤器定义了一个新的字段类型。

我想知道solr是否自动为字典构建索引,还是需要编写任何代码(我使用Java)来构建字典索引。

3 个答案:

答案 0 :(得分:0)

可以将SpellCheckComponent配置为在完成提交或优化时基于Solr索引中的字段自动(重新)构建索引。见http://wiki.apache.org/solr/SpellCheckComponent

更新:我在SOLR用户列表上看到有关此主题的交换之后编辑了这篇文章:FileBasedDictionaryIndex需要至少发出一次spellchecker.build命令(基本上忽略solrconfig.xml上定义的构建/优化触发器)

答案 1 :(得分:0)

我输入此网址以构建拼写检查索引。

http://localhost:8080/solr/select?   q=*:*&spellcheck=true&spellcheck.build=true&buildOnCommit=true

我得到了这个结果

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="spellcheck">true</str>
<str name="q">*:*</str>
<str name="buildOnCommit">true</str>
<str name="spellcheck.build">true</str>
</lst>
</lst>
<result name="response" numFound="0" start="0"/>
</response>

我无法理解为什么我的索引没有构建。

答案 2 :(得分:0)

My solrconfig is as below - 

<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">text_spell</str>

<lst name="spellchecker">
   <str name="classname">solr.FileBasedSpellChecker</str>
   <str name="name">file1</str>
   <str name="sourceLocation">places.txt</str>

   <str name="characterEncoding">UTF-8</str>
   <str name="spellcheckIndexDir">./spellchecker1</str>
   <str name="buildOnCommit">true</str>
 </lst>

 <lst name="spellchecker">
   <str name="classname">solr.FileBasedSpellChecker</str>
   <str name="name">file2</str>

    <str name="sourceLocation">US.dic</str>
   <str name="characterEncoding">UTF-8</str>
   <str name="spellcheckIndexDir">./spellchecker2</str>
   <str name="buildOnCommit">true</str>
 </lst>

</searchComponent>

请纠正我。