Я использую Lucene 7.4 для индексирования и хранения полей. Глядя на API, я заметил, что были предусмотрены классы полей для индексации большинства типов данных (Byte, Integer, Long, Double, Float, String), но нет класса полей для шортов.
https://lucene.apache.org/core/7_4_0/core/org/apache/lucene/document/Field.html
Насколько я понимаю, я могу использовать класс поля по умолчанию для создания «настраиваемого» типа поля для шортов, но я не уверен, как его правильно построить, так как нет конструктора, который принимает мой тип поля:
FieldType shortFieldType = new FieldType();
shortFieldType.setStored(true);
shortFieldType.setTokenized(false);
shortFieldType.setIndexOptions(IndexOptions.DOCS);
shortFieldType.setDocValuesType(DocValuesType.NUMERIC);
Field shortField = new Field("fieldName", ???, shortFieldType);
shortField.setShortValue((Short) shortValue);
document.add(shortField);
Мне также любопытно, почему в API не определен класс ShortPoint. Я мог бы, вероятно, сойти с рук с использованием IntPoint, но я хотел бы избежать потерянного пространства. Все предыдущие исследования, которые я проводил, ссылались на более ранние версии Lucene, которые имели различные классовые конструкции.