我还有一个与内存中的对象相关的问题。我按如下方式初始化模型:
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重新索引它?我将非常感谢您的帮助。
最佳答案
How to detect that I modified the object
这通常是通过一个“已修改”标志来完成的,所有 setter 将其设置为 true
,并在索引时将其设置为 false
。
and re-index it with lucene?
IIRC,Lucene无法修改索引文档,因此您必须删除并重新添加它们。
关于java - 使用 lucene 重新索引对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275658/