Я пытаюсь реализовать индекс документов (грубо соответствующий строкам 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
работает нормально.
Один из документов (я добавил пробел для чтения):
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
.
Что я делаю неправильно? Как я могу добавить такое поле в индекс и сделать его доступным для поиска?