Solr Suggester занимает слишком много времени, чтобы дать ответ - PullRequest
0 голосов
/ 03 апреля 2020

Я использую Solr Suggester для предоставления предложений на странице поиска нашего приложения. Но каждый запрос предложения Solr занимает слишком много времени, чтобы отправить ответ. Я пробовал с несколькими поисками Impl, такими как AnalyzingLookupFactory, AnalyzingInfixLookupFactory, FuzzyLookupFactory et c.

Ниже приведена моя конфигурация:

<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

Пожалуйста, предложите, если мне нужно предоставить еще несколько конфигураций или мне нужно изменить существующие конфигурации для повышения производительности.

Спасибо!

1 Ответ

0 голосов
/ 03 апреля 2020

Каждый раз, когда вы публикуете файл offer.build, вы фактически запрашиваете, чтобы индекс предложения перестраивался с нуля каждый раз, когда вы запрашиваете подсказку.

Его следует восстанавливать только после изменений, если это необходимо (в зависимости от того, какой dictionaryImpl вы используете).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...