Lucene:分配自定义ID?

Lucene:分配自定义ID?

问题描述:

我可以将自定义ID分配给Lucene索引文档,而不是自动生成新ID吗?Lucene:分配自定义ID?

我在问这是因为我的收藏中已经有了ID。一个特定的字段用于此。

感谢

是 - 其实这是做它的唯一途径。 (Lucene不能为你生成ID,它被称为“doc ID”的内容只是内部的,并且在Lucene的意外情况下可能会改变。)

你只需要一个名为“myID”的字段,将其标记为已存储。

+0

因此,我已经添加了myID字段,但是如何将结果中看到的这些id“doc”替换为:[doc = 0 score = 10.122469,doc = 1 score = 3.5992513,doc = 11 score = 0.78047055] ? – aneuryzm 2011-02-28 16:45:49

+0

@Patrick:这些是内部Lucene ID,你应该忽略它们。要获得字段的值,只需使用'doc.GetField(“myID”)' – Xodarap 2011-02-28 16:48:25

+0

这些结果是topDocs = searcher.search(booleanQuery,220000)的输出。 topDocs.scoreDocs;我怎样才能得到我的自定义ID而不是内部的IDDD的数组? – aneuryzm 2011-02-28 16:50:46