Skip to content

Commit

Permalink
HSEARCH-2127 Make SpatialFieldBridge impls give information about the…
Browse files Browse the repository at this point in the history
… created fields
  • Loading branch information
gsmet authored and Sanne committed Mar 2, 2016
1 parent cea1b35 commit 88c85b8
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 4 deletions.
Expand Up @@ -6,16 +6,17 @@
*/
package org.hibernate.search.spatial;

import org.apache.lucene.document.Document;
import java.util.Map;

import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.hibernate.search.bridge.LuceneOptions;
import org.hibernate.search.bridge.ParameterizedBridge;
import org.hibernate.search.bridge.spi.FieldMetadataBuilder;
import org.hibernate.search.bridge.spi.FieldType;
import org.hibernate.search.spatial.impl.Point;
import org.hibernate.search.spatial.impl.SpatialHelper;
import org.hibernate.search.spatial.impl.SpatialNumericDocValueField;
import org.hibernate.search.spatial.impl.Point;

import java.util.Map;

/**
* Hibernate Search field bridge, binding a Coordinates to a spatial hash field in the index
Expand Down Expand Up @@ -48,6 +49,20 @@ public SpatialFieldBridgeByHash(int topSpatialHashLevel, int bottomSpatialHashLe
this.longitudeField = longitudeField;
}

@Override
public void configureFieldMetadata(String name, FieldMetadataBuilder builder) {
super.configureFieldMetadata( name, builder );
if ( spatialHashIndex ) {
for ( int i = topSpatialHashLevel; i <= bottomSpatialHashLevel; i++ ) {
builder.field( SpatialHelper.formatFieldName( i, name ), FieldType.STRING );
}
}
if ( numericFieldsIndex ) {
builder.field( SpatialHelper.formatLatitude( name ), FieldType.DOUBLE );
builder.field( SpatialHelper.formatLongitude( name ), FieldType.DOUBLE );
}
}

/**
* Actual overridden method that does the indexing
*
Expand Down
Expand Up @@ -9,6 +9,8 @@
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.hibernate.search.bridge.LuceneOptions;
import org.hibernate.search.bridge.spi.FieldMetadataBuilder;
import org.hibernate.search.bridge.spi.FieldType;
import org.hibernate.search.spatial.impl.SpatialHelper;
import org.hibernate.search.spatial.impl.SpatialNumericDocValueField;

Expand All @@ -27,6 +29,14 @@ public SpatialFieldBridgeByRange(String latitudeField, String longitudeField) {
this.longitudeField = longitudeField;
}

@Override
public void configureFieldMetadata(String name, FieldMetadataBuilder builder) {
super.configureFieldMetadata( name, builder );

builder.field( SpatialHelper.formatLatitude( name ), FieldType.DOUBLE );
builder.field( SpatialHelper.formatLongitude( name ), FieldType.DOUBLE );
}

/**
* Actual overridden method that does the indexing
*
Expand Down

0 comments on commit 88c85b8

Please sign in to comment.