故事: 我需要搜索一个transactionIds列表作为给定的用户名查询,例如" Peter M *"。
问题:如何保持存储的transactionIds唯一?
我已使用以下文档填充了我的索引:
Document doc = new Document();
doc.add(new StoredField(TRANSACTION_ID, data.getTransactionId()));
doc.add(new TextField(MARCHANT_NAME, data.getName(), Store.NO));
我已经尝试了两种策略(以避免重复的条目)来添加新条目。
答案 0 :(得分:1)
您正在使用StoredField
作为TRANSACTION_ID字段。这意味着它可以从索引中检索,但不会被索引,也无法搜索,因此,它不能用作updateDocument
的键。请改用StringField
。