フィールドの 1 つが整数であるドキュメントのインデックス (おおよそ DB 行に対応) を実装しようとしています。私はそれらを次のようにインデックスに追加しています:
Document doc = new Document();
doc.add(new StringField("ticket_number", rs.getString("ticket_number"),
Field.Store.YES));
doc.add(new IntField("ticket_id", rs.getInt("ticket_id"),
Field.Store.YES));
doc.add(new StringField("id_s", rs.getString("ticket_id"),
Field.Store.YES));
w.addDocument(doc);
ticket_id
正常に動作している間、フィールドをまったくクエリできないようですid_s
。
ドキュメントの1つは次のとおりです(読みやすくするために空白を追加しました):
Document<
stored,indexed,tokenized,omitNorms,indexOptions=DOCS_ONLY<ticket_number:230114W>
stored<ticket_id:152>
stored,indexed,tokenized,omitNorms,indexOptions=DOCS_ONLY<id_s:152>>
したがって、私の int フィールドは保存されますが、インデックスは作成されません。このクエリは期待どおりに機能します: id_s:152
、このクエリは何も返しません: ticket_id:152
。
私は何を間違っていますか?このようなフィールドをインデックスに追加して検索可能にするにはどうすればよいですか?