我将sunspot-solr 2.3.0用于我的Rails应用程序。 我在Solr上实现了自动完成功能的建议者(AnalyzingSuggester)。我有一个大约11M条目的数据库,其中有5个字段由Solr索引。
构建建议字典时,在我的/ tmp /文件夹中创建了两个文件:
AnalyzingSuggester1784590344675447619.input (数量有所不同)。这个文件越来越大,直到最终我没有空间再消失了?
AnalyzingSuggester8456478182934503596.sorted (数量也有所不同)。该文件为0 kb。
我进行了很多搜索,但似乎无法理解到底发生了什么,以及是否/如何避免这种奇怪的行为。这是词典构建的正常部分吗?这只是一些日志记录吗?
答案 0 :(得分:1)
我的solr 6.0.1有同样的问题。 tmp文件无限期地炸毁,直到硬盘驱动器已满。
我的索引仅包含约2500个文档。
搜索组件:
<searchComponent class="solr.SuggestComponent" name="autoSuggest">
<lst name="suggester">
<str name="name">analyzingSuggester</str>
<str name="lookupImpl">AnalyzingLookupFactory</str>
<str name="storeDir">analyzing_suggestions</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="buildOnCommit">false</str>
<str name="buildOnStartup">false</str>
<str name="field">text_suggest_auto</str>
<str name="suggestAnalyzerFieldType">text_suggestion_auto</str>
</lst>
</searchComponent>
请求处理程序:
<requestHandler class="solr.SearchHandler" name="/suggestAuto" startup="lazy" >
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.dictionary">analyzingSuggester</str>
<str name="suggest.onlyMorePopular">true</str>
<str name="suggest.count">10</str>
<str name="suggest.collate">true</str>
</lst>
<arr name="components">
<str>autoSuggest</str>
</arr>
</requestHandler>
字段:
<fieldType name="text_suggestion_auto" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_general.txt" format="snowball" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_general.txt" format="snowball" />
</analyzer>
</fieldType>