繁体   English   中英

如何在Lucene 7.4中索引短字段

[英]How to Index Short fields in Lucene 7.4

我正在使用Lucene 7.4索引和存储字段。 在查看API时,我注意到提供了用于索引大多数数据类型(字节,整数,长整型,双精度型,浮点型,字符串型)的字段类,但没有提供用于短裤的字段类。 https://lucene.apache.org/core/7_4_0/core/org/apache/lucene/document/Field.html

我的理解是,我可以使用默认的Field类为Shorts创建一个“自定义”字段类型,但是由于不确定该字段类型的构造函数,因此我不确定如何正确构造它:

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。

编解码器已经在将值写入索引时对其进行了压缩,因此就索引的大小而言,使用IntPoint用作短值与实现ShortPoint不会有任何区别。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM