Определены ли метки курсора для глубокой подкачки Solr? - PullRequest
0 голосов
/ 28 января 2019

Если я использую Solr

query=q with cursorMarks='*'

и, скажем, Solr генерирует серию меток курсора, когда я перебираю эти страницы

[CM1, CM2, CM3, ... , CM100].

Если я остановлю свой глубокий пейджинговый обход Solr на CM3, смогу ли я возобновить его с CM4 и далее?Короче говоря, серия cursorMarks, которые генерирует Solr - являются ли они детерминированными, если запрос остается тем же, а базовая индексированная совокупность документов Solr не изменяется?

1 Ответ

0 голосов
/ 29 января 2019

Да, пока

  1. В вашем запросе определена сортировка (и эта сортировка фиксируется при каждом вызове пейджинга)
  2. У сортировки есть средство разрешения конфликтов, которое само по себе является детерминированным(например, уникальный идентификатор, но НЕ идентификатор документа в среде SolrCloud, если есть репликация)
  3. И, как вы сказали, базовые индексные документы не изменились

Согласно https://badrit.com/blog/2015/7/26/deep-paging-and-partial-index-export-in-solr#.XE9snc9KiNE

«Глубокая подкачка зависит от концепции« курсора », которая представляет собой строку Base64, представляющую логическую точку в упорядоченном пространстве значений сортировки»

Это также стоит прочитать http://yonik.com/solr/paging-and-deep-paging/

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