SimpleSearch¶
SimpleSearch offers a one-step solution for geo-data querying, powered by Solr for example. Giving only one input field which can be directly embedded into the toolbar, it will send the entered search term to a configurable URL where it expects to receive a JSON-formatted data back which includes a label and a geometry attribute for each entry.
Geometry data can be encoded as WKT or in GeoJSON format.
Configuration¶
- Title: Title of the element. The title will be listed in “Layouts” and allows to distinguish between different buttons. It will be indicated if “Show label” is activated.
- Query URL: Solr URL for the search (e.g.
http://localhost:8080/solr/core0/select?wt=json&indent=true
). - Query URL key: The query parameter key to append (e.g.
q
). - Query Whitespace replacement pattern: Pattern for replacing white spaces.
- Query key format: Simple search format (e.g.
%s
). - Token search/ replace (JavaScript regex): Tokenizer split/ search/ replace regexp.
- Token, e.g.:
[^a-zA-Z0-9äöüÄÖÜß]
- Token search, e.g.:
([a-zA-ZäöüÄÖÜß]{3,})
- Token replace, e.g.:
$1*
- Token, e.g.:
- Collection path: Can be a dotted attribute path to extract from the query result (e.g.
response.docs
). - Label attribute: Name of the attribute to use for entry labeling (e.g.
label
). - Geom attribute: Name of the geometry data attribute (e.g.
geom
). - Geom format: geometry data format, can be WKT or GeoJSON (e.g.
WKT
). - Delay: Autocomplete delay. Use 0 to disable autocomplete (e.g.
300
). - Result buffer: buffer result geometry with this (map units) before zooming (e.g.
10
). - Result minscale/ maxscale: scale restrictions for zooming, ~ for none (e.g.
1000
und5000
). - Result icon url: icon to display as result marker (e.g.
http://demo.mapbender3.org/bundles/mapbendercore/image/pin_red.png
). - Result ion offset: Offset x and y for the Icon (e.g.
0,0
).
YAML-Definition:¶
query_url: http://example.com/solr/core/0/select?wt=json&indent=true&rows=8 # Example Solr URL
query_key: q # The query parameter key to append
query_ws_replace: # Parameter name to send search term with.
query_format: '%s' # Simple search format.
token_regex: [^a-zA-Z0-9äöüÄÖÜß] # Tokenizer split regexp.
token_regex_in: ([a-zA-ZäöüÄÖÜß]{3,}) # Tokenizer search regexp.
token_regex_out: '$1*' # Tokenizer replace regexp.
collection_path: response.docs # Can be a dotted attribute path to extract from the query result.
label_attribute: label # Name of the attribute to use for entry labeling
geom_attribute: geom # Name of the geometry data attribute
geom_format: WKT # geometry data format, can be WKT or GeoJSON
delay: 300 # Autocomplete delay. Use 0 to disable autocomplete.
result_buffer: 50 # buffer result geometry with this (map units) before zooming
result_minscale: 1000 # scale restrictions for zooming, ~ for none
result_maxscale: 5000
result_icon_url: http://demo.mapbender3.org/bundles/mapbendercore/image/pin_red.png # icon to display as result marker
result_icon_offset: -6,-38 # Offset x and y for the Icon
Class, Widget & Style¶
- Class: Mapbender\CoreBundle\Element\SimpleSearch
- Widget: mapbender.element.simplesearch.js
HTTP Callbacks¶
- /search: Widget proxy which then queries configured URL. In dev-mode the final query URL will be returned as a x-mapbender-simplesearch-url header for easier debugging.
JavaScript API¶
None.
JavaScript Signals¶
None.