• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Lucene 4.0 IndexWriter updateDocument用于数字字段

java 来源:Daniel Gerber 8次浏览

我只是想知道如何根据数字字段更新(删除/插入)文档。 到目前为止,我这样做:Lucene 4.0 IndexWriter updateDocument用于数字字段

LuceneManager.updateDocument(writer, new Term("id", NumericUtils.intToPrefixCoded(sentenceId)), newDoc); 

但现在使用Lucene 4.0 NumericUtils类已更改为this,我真的不明白。 有什么帮助吗?


===========解决方案如下:

我会建议,如果可能的话,最好将ID存储为关键字字符串,而不是数字。如果它只是一个唯一的标识符,索引作为关键字就更有意义。这消除了混淆数字格式的任何需要。

如果它实际上被用作数字,那么您可能需要手动执行更新。也就是说,搜索并获取您要更新的文档,使用tryDeleteDocument删除旧文档,然后将更新后的版本添加到addDocument。据我所知,这基本上就是updateDocument所做的。

不过,第一种选择当然是更好的方法。用作更新ID的非数字字段会使生活更轻松。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)