Sha256: df8f92c1201b0f01859d37b3259f75e75370238aad6a27761918a518b22025f6
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
module GeoConcerns module Discovery class DocumentBuilder class SpatialBuilder attr_reader :geo_concern def initialize(geo_concern) @geo_concern = geo_concern end # Builds spatial fields such as bounding box and solr geometry. # @param [AbstractDocument] discovery document def build(document) document.solr_coverage = to_solr end private # Parses coverage field from geo work and instantiates a coverage object. # @return [GeoConcerns::Coverage] coverage object def coverage @coverage ||= GeoConcerns::Coverage.parse(geo_concern.coverage.first) end # Returns the coverage in solr format. For example: # `ENVELOPE(minX, maxX, maxY, minY)` # @see 'https://cwiki.apache.org/confluence/display/solr/Spatial+Search' # @return [String] coverage in solr format def to_solr "ENVELOPE(#{coverage.w}, #{coverage.e}, #{coverage.n}, #{coverage.s})" end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems