Solr 4.0 запрашивает и фильтрует по _версии_

У меня есть индекс, который я обновляю каждые несколько часов, используя Solrj. Обновление содержит новые документы, а также обновления для удаления документов из индекса. Некоторые вообще не будут обновляться (считайте удаленными после обновления).

В каждом обновлении я хочу изменить поле версия во всех обновленных документах. в настоящее время я использую:

<field name="_version_" type="long" indexed="true" stored="true" />

Проблема в том, что каждый Doc получает unix-время своего создания. Есть ли способ автоматически увеличивать поле версия для всех новых/обновленных документов, а также фильтровать результаты поискового запроса по последней версии?


person ItayD    schedule 24.12.2012    source источник


Ответы (1)


Подробная информация о поле _version_:

  • _version_ используется/контролируется Solr внутри компании
  • Значение поля _version_ автоматически увеличивается всякий раз, когда в документе происходит какое-либо обновление значения поля. Таким образом, в Индексе существует только один обновленный документ.
  • При выдаче поискового запроса Solr по умолчанию возвращает обновленную версию документа.

Это поле обязательно, если Realtime получен обработчик и updateLog определено.

Я надеюсь, что это объясняет и дает направление.

Примечание: ссылки на части еще не зафиксированы в соответствии с вики

Если вы хотите иметь дело со «ссылками на детали», обратитесь к вики Solr Обновление семантики.

person jeevatkm    schedule 25.12.2012
comment
Следует отметить, что на данный момент материалы по ссылке «Обновить семантику» еще не зафиксированы. - person Bob B; 22.04.2013