solr - Solr Suggester 需要很长时间才能提供响应
问题描述
我正在使用 Solr Suggester 在我们应用程序的搜索页面中提供建议。但是对 Solr 的每个建议请求都需要很长时间才能发送响应。我尝试了多个查找 Impl,例如 AnalyzingLookupFactory、AnalyzingInfixLookupFactory、FuzzyLookupFactory 等。
下面是我的配置:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">mySuggester</str>
<str name="lookupImpl">AnalyzingInfixLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">spell_suggest</str>
<str name="weightField">spell_suggest</str>
<str name="suggestAnalyzerFieldType">text_general</str>
<str name="buildOnStartup">false</str>
</lst>
<lst name="suggester">
<str name="name">altSuggester</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="field">spell_suggest</str>
<str name="weightField">spell_suggest</str>
<str name="suggestAnalyzerFieldType">text_general</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<!--<str name="suggest.dictionary">mySuggester</str> -->
<str name="suggest.dictionary">altSuggester</str>
<str name="suggest">true</str>
<str name="suggest.count">6</str>
<str name="spellcheck">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
响应只有 42000 个索引文档,需要将近 5 到 7 秒才能提供响应。这严重影响了应用程序中的功能
以下是我的要求:http://<myIP>:8983/solr/mycollection/suggest?df=spell_suggest&suggest=true&suggest.build=true&q=Vendor
请建议我是否需要提供更多配置或需要修改现有配置以提高性能。
谢谢!
解决方案
当您每次发出Suggest.build 时,您实际上是在每次查询建议者时都要求从头开始重建建议索引。
仅应在必要时在更改后重建它(取决于dictionaryImpl
您使用的是哪个)。
推荐阅读
- azure-devops - Azure DevOps AAD 选项卡将不存在的用户显示为已断开连接
- node.js - Postgres NodeJS 批量更新插入超时
- javascript - 用数据 ASP.NET CORE MVC Jquery 填充弹出模式
- php - Windows Server (IIS) + PHP7.4 - curl 的问题
- python - 无法将 chromedriver page_source 写入文件
- javascript - Discord.js Bot 在启动时抛出错误。我该如何解决?
- sql - 上一个值的 SQL 帮助
- angular - 单元测试 Angular:当多次使用 control.setValue(...) 时,valueChanges 仅在测试结束时触发
- visual-studio - 找不到 dll 视觉工作室
- android - 在 Google Play 商店更新 android 应用时,现有数据库消失