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.

../../../../../_images/simplesearch1.png

Configuration

../../../../../_images/simplesearch_configuration_a1.png ../../../../../_images/simplesearch_configuration_b1.png
  • 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*
  • 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 und 5000).
  • 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.