我希望用以下字段创建索引:
UID
title
owner
content
其中,我不希望UID可以搜索。 [像元数据]
我希望UID的行为类似于docID,以便在我想删除或更新时
我会用这个。
这可能吗 ?这该怎么做 ?
答案 0 :(得分:2)
您可以通过添加Store.YES
和Index.NO
来标记为不可搜索,但这不会让您通过使用它轻松更新/删除。您需要为该字段编制索引以允许替换它(使用IndexWriter.UpdateDocument(Term, Document)
,其中term = new Term("UID", "...")
),因此您需要使用Index.ANALYZED
和KeywordAnalyzer
,或{ {1}}。如果您有一个单值字段,也可以使用Index.NOT_ANALYZED
,主键通常是。但是,这使它可以搜索。
要点:
FieldCache
(可以使用Store.NO
或FieldCache
检索TermsEnum
(完整值将被编入索引,包括任何空格)