2015-08-31 2 views
1

На установке Solr с 2+ осколками, когда данные, возвращаемые LukeRequestHandler, распределены по осколкам? Я спрашиваю, хочу ли я обнаружить новые (ранее невидимые) динамические поля за короткий промежуток времени после их добавления.Когда данные Люка распространяются по ядрам Solr?

Пример желаемая последовательность событий:

  1. Предположим, динамическое поле *_s
  2. запроса Люк и получить список динамических полей
  3. Добавить документ с полем example_s
  4. запроса Люк и получить такой же список, как и раньше но с дополнительными example_s в результате (этого не происходит)
  5. коллекция запросов для example_s:* и MATCH документ добавлен выше

Я знаю, что недавно добавленные документы сразу становятся для поиска еще до того трудно привержен, но я искал способ, чтобы иметь эту информацию появляются у Луки тоже.

информация на следующей будет полезно:

  • ли Люк запроса все черепки на время запроса, или только один? Казалось бы, он запрашивает только случайное.

  • Точно, когда знание ранее невидимых динамических полей распространяется по всем осколкам (что эквивалентно, доступно для Люка)?

  • Могу ли я настроить задержку/триггер для этого предполагаемого распространения Луки, чтобы свести к минимуму задержку между добавлением документа с новым динамическим полем на произвольном осколке и моментом, когда он станет видимым в ответах Люка на каждом другом осколке ?

См https://issues.apache.org/jira/browse/SOLR-8127

ответ

2

Никогда.

Как указано в ответах на linked ticket, обработчик запросов Люка не находится на достаточно высоком уровне, чтобы понимать множественные осколки. Люк предоставляет информацию об индексе, а не о коллекции, и, конечно же, не о кластере.

1

Вам необходимо запросить каждый осколок напрямую. Это можно сделать, используя точный путь ядра/solr/collection_shard1_replica1/admin/luke