public static IndexableField instantiateField( String key, Object value, FieldType fieldType ) { IndexableField field; if ( value instanceof Number ) { Number number = (Number) value; if ( value instanceof Long ) { field = new LongField( key, number.longValue(), Store.YES ); } else if ( value instanceof Float ) { field = new FloatField( key, number.floatValue(), Store.YES ); } else if ( value instanceof Double ) { field = new DoubleField( key, number.doubleValue(), Store.YES ); } else { field = new IntField( key, number.intValue(), Store.YES ); } } else { field = new Field( key, value.toString(), fieldType ); } return field; }
private static Document createTestDocument() { Document document = new Document(); document.add( new TextField( "text", "textValue", Field.Store.YES ) ); document.add( new LongField( "long", 1, Field.Store.YES ) ); return document; }
doc.add(new LongField(SearchableFields.LineageStartDate.getSearchableFieldName(), record.getLineageStartDate(), Store.NO)); doc.add(new LongField(SearchableFields.EventTime.getSearchableFieldName(), record.getEventTime(), Store.NO)); doc.add(new LongField(SearchableFields.FileSize.getSearchableFieldName(), record.getFileSize(), Store.NO)); doc.add(new StringField(FieldNames.STORAGE_FILENAME, storageFilename, Store.YES)); doc.add(new LongField(FieldNames.STORAGE_FILE_OFFSET, record.getStorageByteOffset(), Store.YES)); } else { doc.add(new IntField(FieldNames.BLOCK_INDEX, blockIndex, Store.YES)); doc.add(new LongField(SearchableFields.Identifier.getSearchableFieldName(), record.getEventId(), Store.YES));
doc.add(new LongField(SearchableFields.LineageStartDate.getSearchableFieldName(), record.getLineageStartDate(), Store.NO)); doc.add(new LongField(SearchableFields.EventTime.getSearchableFieldName(), record.getEventTime(), Store.NO)); doc.add(new LongField(SearchableFields.FileSize.getSearchableFieldName(), record.getFileSize(), Store.NO));
public static Field tsField(long timestamp, FieldType fieldType) { return new LongField(CF_TS_INDEXED, timestamp, fieldType); }
/** {@inheritDoc} */ @Override public Optional<Field> indexedField(String name, Long value) { return Optional.of(new LongField(name, value, STORE)); }
public static Field longField(String name, String value) { return new LongField(name, Long.parseLong(value), Field.Store.NO); }
/** {@inheritDoc} */ @Override public Optional<Field> indexedField(String name, Long value) { LongField longField = new LongField(name, value, STORE); longField.setBoost(boost); return Optional.of(longField); }
public Field field(String name, AbstractType type, ByteBuffer byteBufferValue, FieldType fieldType) { Object value = type.compose(byteBufferValue); return new LongField(name, ((Number) value).longValue(), fieldType); } }
public Field field(String name, AbstractType type, ByteBuffer byteBufferValue, FieldType fieldType) { Object value = type.compose(byteBufferValue); return new LongField(name, ((Date) value).getTime(), fieldType); } }
private static Field obj2field(String field, Object fieldValue, boolean store) { if (fieldValue == null) return null; if (fieldValue instanceof Date) //日期 return new LongField(field, ((Date) fieldValue).getTime(), store ? Field.Store.YES : Field.Store.NO); if (fieldValue instanceof Number) //其他数值 return new StringField(field, String.valueOf(((Number) fieldValue).longValue()), store ? Field.Store.YES : Field.Store.NO); //其他默认当字符串处理 return new StringField(field, (String) fieldValue, store ? Field.Store.YES : Field.Store.NO); } }
public void addLongFieldToDocument(String fieldName, long longValue, Document document) { checkNotCompressed( fieldName ); LongField field = new LongField( fieldName, longValue, storeType != Store.NO ? Field.Store.YES : Field.Store.NO ); setBoost( field ); document.add( field ); }
public void addLongFieldToDocument(String fieldName, long longValue, Document document) { checkNotCompressed( fieldName ); LongField field = new LongField( fieldName, longValue, storeType != Store.NO ? Field.Store.YES : Field.Store.NO ); setBoost( field ); document.add( field ); }
@Override protected void onExecute(Document doc, XsObject root, XsObject current, LogicletContext ctx, ExecuteWatcher watcher) { String field = PropertiesConstants.transform(ctx, $field, ""); long value = PropertiesConstants.transform(ctx, $value, 0L); if (StringUtils.isNotEmpty(field)){ doc.add(new NumericDocValuesField(field,value)); if (store){ doc.add(new LongField(field,value,Field.Store.YES)); } } }
/** {@inheritDoc} */ @Override public List<IndexableField> indexableFields(Columns columns) { BitemporalDateTime vtFromTime = readBitemporalDate(columns, vtFrom); BitemporalDateTime vtToTime = readBitemporalDate(columns, vtTo); BitemporalDateTime ttFromTime = readBitemporalDate(columns, ttFrom); BitemporalDateTime ttToTime = readBitemporalDate(columns, ttTo); if (vtFromTime == null && vtToTime == null && ttFromTime == null && ttToTime == null) { return Collections.emptyList(); } validate(vtFromTime, vtToTime, ttFromTime, ttToTime); List<IndexableField> fields = new ArrayList<>(4); fields.add(new LongField(field + VT_FROM_FIELD_SUFFIX, vtFromTime.toTimestamp(), STORE)); fields.add(new LongField(field + VT_TO_FIELD_SUFFIX, vtToTime.toTimestamp(), STORE)); fields.add(new LongField(field + TT_FROM_FIELD_SUFFIX, ttFromTime.toTimestamp(), STORE)); fields.add(new LongField(field + TT_TO_FIELD_SUFFIX, ttToTime.toTimestamp(), STORE)); return fields; }
@Override public void addLongNumericField(long value, String name, int precisionStep, SerializableStore store, boolean indexed, float boost, boolean omitNorms, boolean omitTermFreqAndPositions) { final LongField numField = new LongField( name, value, getStore( store ) ); numField.setBoost( boost ); getLuceneDocument().add( numField ); }
private Document generateIndexDoc(Record record, Map<String, IndexType> columns) throws IOException, AnalyticsIndexException { Document doc = new Document(); doc.add(new StringField(INDEX_ID_INTERNAL_FIELD, record.getId(), Store.YES)); doc.add(new LongField(INDEX_INTERNAL_TIMESTAMP_FIELD, record.getTimestamp(), Store.NO)); /* make the best effort to store in the given timestamp, or else, * fall back to a compatible format, or else, lastly, string */ String name; for (Map.Entry<String, IndexType> entry : columns.entrySet()) { name = entry.getKey(); this.checkAndAddDocEntry(doc, entry.getValue(), name, record.getValue(name)); } return doc; }
@Override public void addLongNumericField(long value, String name, int precisionStep, SerializableStore store, boolean indexed, float boost, boolean omitNorms, boolean omitTermFreqAndPositions) { final LongField numField = new LongField( name, value, getStore( store ) ); numField.setBoost( boost ); getLuceneDocument().add( numField ); }
private org.apache.lucene.index.IndexableField buildLongField( StoreField field) { return new LongField(field.getName(), (Long) field.getValue(), field.isStored() ? Store.YES : Store.NO); }
private Document buildDocumentWithNumericFields() { Document doc = new Document(); Field numField = new DoubleField( "double", 23d, Store.NO ); doc.add( numField ); numField = new IntField( "int", 23, Store.NO ); doc.add( numField ); numField = new FloatField( "float", 2.3f, Store.NO ); doc.add( numField ); numField = new LongField( "long", 23L, Store.NO ); doc.add( numField ); return doc; }