Търсене по време на актуализация на Pentaho ElasticSearch

Използваме ES за индексиране на ~1,5 милиона записа от базата данни. За да попълним индекса, използваме компонент Pentaho ES, който е настроен на „Презаписване, ако съществува“ (работи ~15 минути). Освен това отделни индексирани документи могат да бъдат извлечени, актуализирани или изтрити чрез Java услуги.

Въпросът е какво ще върне ES по време на пълната актуализация на Pentaho? Например, имаме 1,5 милиона индексирани документа с версия = 1. Следващата актуализация ще промени тази версия на 2. Ако поискаме документ, докато Pentaho го актуализира – ще получим ли старата му версия? Ще бъде ли недостъпна услугата за този конкретен документ? Освен това, ако получим стара версия, новата версия ще бъде ли налична веднага след актуализацията или ще изчака, докато се актуализира пълната партида (компонентът pentaho изпраща редове на партиди от 5k)?

Пентахо - 4.4

ElasticSearch - 0.19.4

Lucene - 3.6.0


person user2141597    schedule 06.03.2013    source източник


Отговори (1)


  1. Ще получите старата версия на документ, ако новата все още не е ангажирана. Услугата ще продължи да бъде достъпна.
  2. Новите версии ще бъдат налични в зависимост от настройката refresh_interval в elasticsearch. Това е по подразбиране всеки 1s.

Възможно е pentaho да завърти refresh_interval по време на зареждането на данни. Ако случаят е такъв, тогава ще трябва да изчакате, докато pentaho извика директно метода refresh или докато нулира параметъра.

Можете просто да започнете изпълнението и след това да проверите настройката за refresh_interval чрез:

curl -XGET "http://my-es-server:9200/my-index-name/_settings"
person Dave S.    schedule 06.03.2013