2015-11-07 1 views
0

Привет Я использую Elastic Search вместе с Titan ..Есть ли способ обновить определенную запись в индексе ElasticSearch через Titan?

Сейчас у меня есть аа смешанного индекса конкретного свойства для конкретного типа вершины:

PropertyKey textProp = mgmt.getPropertyKey(EntityProps.text); 
VertexLabel entityClass = mgmt.getVertexLabel(VertexLabels.Entity); 
mgmt.buildIndex("EntityTextFull", Vertex.class) 
    .indexOnly(entityClass) 
    .addKey(textProp) 
    .buildMixedIndex("search"); 

Индексированных ключевых значения не являются уникальным. . Интересно, есть ли способ, чтобы обновить некоторые свойства, включая индексированные свойства для конкретной вершины, а затем каких-то образом переиндексаций этой конкретной вершины против этого конкретного индекса ..

Спасибо, МИХАИЛА

ответ

0

Вы могли бы потенциально выбрать _update конечную точку и делать частичные обновления:

Внешне это выглядит как будто мы частично обновляя документ на месте. Однако, как правило, API обновления просто управляет тем же процессом восстановления-изменения-reindex , который мы уже описали. Разница в заключается в том, что этот процесс происходит в пределах осколка, что позволяет избежать сетевых издержек из нескольких запросов. Уменьшая время между шагами retrieve и reindex, мы также уменьшаем вероятность того, что происходят конфликтующие изменения от других процессов.

У меня нет опыта работы с Titan, но я полагаю, вы могли бы перевести необработанные запросы в него.

+0

Спасибо. Хотя я знаю, как напрямую запрашивать Elastic Search. Я действительно хотел, когда я делаю частичное обновление в Titan, чтобы обновлять ElasticSearch. Существует интеграция для создания, но я ищу интеграцию для обновлений. –