переиндексация объектов с помощью люцена - PullRequest
1 голос
/ 25 ноября 2010

У меня есть вопрос, связанный с моими объектами в памяти. Я инициализирую модель следующим образом:

model.init("" +
        "<root>" +
        "  <objA nb='5' attrA1='string(val1)' attrA2='int(0)'>" +
        "    <objB nb='8' attrB1='string(val2)' attrB2='int(102)' />" +
        "    <objQ nb='4' attrD3='int(250)' attrD6='string(ok)'  />" +
        "  </objA>" +
        "  <objC nb='1' attrC1='int(1)'/>" +
        "  <objD nb='1' attrD1='string(valx)'/>" +
        "     <objZ nb='8' attrB1='string(val2)' attrB2='int(102)' />" +
        "  <objR nb='4' attrR1='string(val3)' />" +
        "  <mark nb='2' attrR9='string(valeur)'>" +
        "    <ttt name='string(qsa)'>" +
        "      <aaa></aaa>" +
        "    </ttt>" +
        "  </mark>" +
        "</root>");
    rootType = model.getRootType();

Затем я индексирую все элементы с их атрибутами; После этого я модифицирую некоторые из них (я изменяю значение их атрибутов, я удаляю некоторые объекты, я создаю некоторые новости). Как обнаружить, что я изменил объект и переиндексировать его с помощью lucene? Я буду очень благодарен за помощь.

1 Ответ

1 голос
/ 25 ноября 2010

Как обнаружить, что я изменил объект

Обычно это делается с помощью флага «изменен», который установлен на true всеми установщиками и установлен на falseкогда индексируется.

и переиндексировать его с помощью lucene?

IIRC, Lucene не может изменять проиндексированные документы, поэтому вам нужно удалить и повторно добавить их.

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