Solr подсказчик много раз возвращает одинаковые результаты с пустыми весами

У меня есть следующая проблема с подсказкой Солра: он много раз возвращает одно и то же значение, и все веса равны нулю. Я надеюсь, что он вернет каждое значение только один раз, с весами в зависимости от частоты.

Это мой конфиг:

  <searchComponent name="suggest" class="solr.SuggestComponent">
    <lst name="suggester">
      <str name="name">infixSuggester</str>
      <str name="lookupImpl">AnalyzingInfixLookupFactory</str>
      <str name="indexPath">infix_suggestions</str>
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>
      <str name="field">title_suggest</str>
      <str name="suggestAnalyzerFieldType">phrase_suggest</str>
      <str name="buildOnStartup">true</str>
      <str name="buildOnCommit">true</str>
    </lst>
  </searchComponent>

  <requestHandler name="/suggest" class="solr.SearchHandler">
    <lst name="defaults">
      <str name="suggest.dictionary">infixSuggester</str>
      <str name="suggest.onlyMorePopular">true</str>
      <str name="suggest">true</str>
      <str name="suggest.count">500</str>
      <str name="suggest.collate">true</str>
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>

когда я звоню, например, предлагаю?q=test, я получаю что-то вроде:

"suggestions":[{
    "term":"This is a test suggestion",
    "weight":0,
    "payload":""},
  {
    "term":"This is a test suggestion",
    "weight":0,
    "payload":""},
  {
    "term":"Another test example",
    "weight":0,
    "payload":""}]

Поэтому я должен выполнить обработку в моем клиенте, чтобы получить только самые популярные дополнения. Я хотел бы иметь что-то ближе к:

"suggestions":[{
    "term":"This is a test suggestion",
    "weight":2,
    "payload":""},
  {
    "term":"Another test example",
    "weight":1,
    "payload":""}]

Это вообще возможно?

Спасибо!

Yann

1 ответ

Решение

Вместо этого вы могли бы использовать средство подсказки BlendedInfixLookupFactory, расширенную версию AnalyzingInfixLookupFactory, предоставляющую вам другие функции и удаляющую дубликаты... Win-Win!

Другие вопросы по тегам