为什么我在Solr执行此查询时没有得到任何建议:
Q =%2B%28text%3A%28gasal%29%29&安培; suggestField = contentOriginal&安培; ontologySeed = gasal&安培; spellcheck.build =真安培; spellcheck.q = gasal&安培;拼写检查=真安培; spellcheck.collate =真安培; HL =真安培; hl.snippets = 5&安培; hl.fl =文本&安培; hl.fl =文本&安培;行数= 12&安培;开始= 0&安培; QT =%2Fsuggestprobabilistic
我正在搜索gasal
,它应该建议gasol
提前致谢
答案 0 :(得分:1)
默认情况下,拼写检查程序通过获取源字段的索引内容(在Solr中)并存储到外部Lucene索引中来工作。那个外部索引是字典。源字段的每个单词以允许匹配彼此闭合的单词的格式存储在字典中。在询问建议时,Solr将查看该字典,而不是Solr索引。
因此,为了构建字典,您必须指定源字段。它应该在您的模式中使用适当的分析器定义(通常没有词干)。那个字段应该包含足够的单词来构建一个好的字典。一个好的做法是使用copyfield说明从文本字段填充它。
然后,必须建立字典。这是采用源字段的内容来构建实际字典的操作。可以automatically at each commit完成,也可以使用"build" parameter手动完成。