Повышение релевантности очень медленное в Solr

У меня есть индекс Solr с примерно 2,5 миллионами элементов, и я пытаюсь использовать ExternalFileField для повышения релевантности. К сожалению, когда я пытаюсь это сделать, это ОЧЕНЬ медленно, несмотря на то, что это мощная машина, а у Solr много доступной памяти.

Во внешнем файле у меня есть содержимое вроде:

747501=3.8294805903e-07
747500=3.8294805903e-07
1718770=4.03292174724e-07
1534562=3.8294805903e-07
1956010=3.8294805903e-07
747509=3.8294805903e-07
747508=3.8294805903e-07
1718772=3.8294805903e-07
1391385=3.8294805903e-07
2089652=3.8294805903e-07
1948271=3.8294805903e-07
108368=3.84404072186e-06

Каждая строка представляет собой идентификатор документа и соответствующий ему повышающий коэффициент.

В моем запросе я использую edismax, и я использую параметр повышения, устанавливая его в PageRank. Весь запрос здесь.

В моей схеме у меня есть:

<!-- External File Field Type-->
<fieldType name="pagerank"
           keyField="id"
           stored="false"
           indexed="true"
           omitNorms="false"
           class="solr.ExternalFileField"
           valType="float"/>

и

   <field name="pagerank"
          type="pagerank"
          indexed="true"
          stored="true"
          omitNorms="false"/>

Но производительность просто, просто плохо. Я пропустил настройку или что-то в этом роде?


person mlissner    schedule 05.11.2013    source источник
comment
Согласно javadoc - The external file may be sorted or unsorted by the key field, but it will be substantially slower (untested) if it isn't sorted. И как я вижу, идентификаторы в вашем файле не отсортированы. Можете ли вы отсортировать его и проверить, поможет ли это?   -  person rchukh    schedule 06.11.2013
comment
Ага, вроде получилось, спасибо.   -  person mlissner    schedule 28.11.2013
comment
Как насчет того, чтобы принять это тогда?   -  person Peter Aron Zentai    schedule 25.08.2016
comment
Да, конечно. Кто-то поместил это в ответ через два года после того, как это было в комментарии.   -  person mlissner    schedule 25.08.2016


Ответы (1)


Согласно документу Java

Внешний файл может быть отсортирован или не отсортирован по ключевому полю, но без сортировки он будет работать существенно медленнее (не проверено).

И, как я вижу, идентификаторы в вашем файле не отсортированы. Можете ли вы отсортировать его и проверить, поможет ли это?

person Community    schedule 07.04.2015