поиск по сортировке по ранду - PullRequest
0 голосов
/ 23 мая 2018

Я использую Solr 6.3. Я хочу отсортировать документы по ранду в пределах одинаковых баллов.

Пожалуйста, посмотрите ответ результата:

{
  "numFound": 9796,
  "start": 0,
  "maxScore": 4.813048,
  "docs": [
    {
      "product_slno": "8343676",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "9272399",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "9117918",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "11992571",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "12226220",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "12239015",
      "product_name": "non basmati rice",
      "score": 4.813048
    },
    {
      "product_slno": "228513",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "382382",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "591419",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "11992574",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "12067342",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "12102172",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "12116777",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "12125565",
      "product_name": "basmati rice",
      "score": 4.6070313
    },
    {
      "product_slno": "4462552",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "6666626",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "7036941",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "7833234",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "7552192",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "8757321",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "9207159",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "9978281",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "11642035",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "12294941",
      "product_name": "non basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "12313470",
      "product_name": "non-basmati rice",
      "score": 4.424822
    },
    {
      "product_slno": "5457576",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "6666629",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "7552189",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "11476797",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "11642034",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "12209560",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "12230206",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "12233053",
      "product_name": "basmati rice",
      "score": 4.2188053
    },
    {
      "product_slno": "182609",
      "product_name": "non basmati rice",
      "score": 1.7452564
    },
    {
      "product_slno": "158848",
      "product_name": "non basmati parboiled rice",
      "score": 1.7452564
    },
    {
      "product_slno": "8439880",
      "product_name": "non basmati rice",
      "score": 1.7452564
    },
    {
      "product_slno": "10035413",
      "product_name": "non basmati rice",
      "score": 1.7452564
    }
  ]
}

у нас есть несколько документов для баллов "4.813048","4.6070313", "4.424822", "4.2188053", "1.7452564" Я хочу случайную сортировку в пределах одинаковых баллов.

спасибо

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я использую solr Suggester lookupImpl как AnalyzingInfixLookupFactory, он работает нормально, единственная проблема, которую я не могу решить, это то, что я хочу, чтобы точное поисковое ключевое слово отображалось сверху.то есть, если я ищу «Кожаные сумки», то именно это ключевое слово должно отображаться сверху, но оно показывает «мужские кожаные сумки», «женские кожаные сумки», после чего оно показывает «Кожаные сумки».Но я хочу, чтобы "Кожаные сумки" отображались сверху.

<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">search_keyword</str>

<str name="suggestAnalyzerFieldType">text_general</str>
<str name="buildOnStartup">false</str>
</lst>     
</searchComponent>
0 голосов
/ 23 мая 2018

Вы можете сортировать по нескольким записям - т.е.сначала поиск по счету, затем по обычному случайному поиску.См. Solr - Возврат случайных результатов (Сортировка по случайному) , чтобы узнать, как упорядочить набор результатов случайным образом.

sort=score desc,random_1234 asc

Где random_ определяется как <dynamicField name="random_*" type="random" />.

Измените значение 1234 на случайное значение при выполнении запроса к Solr.

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