Class: SpatialFilter

SpatialFilter()

A SpatialFilter represents a spatial constraint on the query to be executed, and stores the geohash strings for all of the geohash tiles that coincide with the search bounding box at the given zoom level.

Constructor

new SpatialFilter()

Source:

Extends

Members

type :string

The name of this Model
Type:
  • string
Overrides:
Source:

Methods

defaults()

Inherits all default properties of Filter
Properties:
Name Type Description
geohashes Array.<string> The array of geohashes used to spatially constrain the search
groupedGeohashes object The same geohash values, grouped by geohash level (e.g. 1,2,3...). Complete geohash groups (of 32) are consolidated to the level above.
east number The easternmost longitude of the represented bounding box
west number The westernmost longitude of the represented bounding box
north number The northernmost latitude of the represented bounding box
south number The southernmost latitude of the represented bounding box
geohashLvel number The default precision level of the geohash-based search
Overrides:
Source:

escapeSpecialChar(term) → {string}

Escapes Solr query reserved characters so that search terms can include those characters without throwing an error.
Parameters:
Name Type Description
term string The search term or phrase to escape
Inherited From:
Source:
Returns:
- The search term or phrase, after special characters are escaped
Type
string

getQuery()

Builds a query string that represents this spatial filter
Overrides:
Source:
Returns:
queryFragment - the query string representing the geohash constraints

getValueQuerySubstring(valuesopt) → {string}

Constructs a query substring for each of the values set on this model
Parameters:
Name Type Attributes Description
values Array.<string> <optional>
The values to use in this query substring. If not provided, the values set on the model are used.
Inherited From:
Source:
Returns:
The query substring
Type
string
Example
values: ["walker", "jones"]
  Returns: "(walker%20OR%20jones)"

groupGeohashes()

Consolidates geohashes into groups based on their geohash level and updates the model with those groups. The fields and values attributes on this model are also updated with the geohashes.
Source:

hasChangedValues() → {boolean}

Checks if this Filter has values different than the default values.
Inherited From:
Source:
Returns:
- Returns true if this Filter has values set on it, otherwise will return false
Type
boolean

initialize()

Initialize the model, calling super
Overrides:
Source:

isDateQuery(value) → {boolean}

Returns true if the given value or value set on this filter is a date range query
Parameters:
Name Type Description
value string The string to test
Inherited From:
Source:
Returns:
Type
boolean

isEmpty() → {boolean}

isEmpty - Checks whether this Filter has any values or fields set
Inherited From:
Source:
Returns:
returns true if the Filter's values and fields are empty
Type
boolean

parse(xml) → {JSON}

Parses the given XML node into a JSON object to be set on the model
Parameters:
Name Type Description
xml Element The XML element that contains all the filter elements
Inherited From:
Source:
Returns:
- The JSON object of all the filter attributes
Type
JSON

parseFilterOptions(filterOptionsNode) → {Object}

Parses the filterOptions XML node into a literal object
Parameters:
Name Type Description
filterOptionsNode Element The filterOptions XML element to parse
Inherited From:
Source:
Returns:
- The parsed filter options, in literal object form
Type
Object

parseTextNode(parentNode, nodeName, isMultiple) → {string|Array}

Gets the text content of the XML node matching the given node name
Parameters:
Name Type Description
parentNode Element The parent node to select from
nodeName string The name of the XML node to parse
isMultiple boolean If true, parses the nodes into an array
Inherited From:
Source:
Returns:
- Returns a string or array of strings of the text content
Type
string | Array

resetValue()

Resets the values attribute on this filter
Overrides:
Source:

updateDOM(optionsopt) → {Element}

Updates XML DOM with the new values from the model
Parameters:
Name Type Attributes Description
options object <optional>
A literal object with options for this serialization
Properties:
Name Type Attributes Description
options.forCollection boolean <optional>
If true, will create an XML DOM for Collection definitions, not FilterGroups
Overrides:
Source:
Returns:
A new XML element with the updated values
Type
Element

updateFilterOptionsDOM(filterOptionsNodeopt) → {Element}

Serializes the filter options into an XML DOM and returns it
Parameters:
Name Type Attributes Description
filterOptionsNode Element <optional>
The XML filterOptions node to update
Inherited From:
Source:
Returns:
- The updated DOM
Type
Element

validate() → {object}

Checks if the values set on this model are valid. Some of the attributes are changed during this process if they are found to be invalid, since there aren't any easy ways for users to fix these issues themselves in the UI.
Inherited From:
Source:
Returns:
- Returns a literal object with the invalid attributes and their corresponding error message
Type
object