diff --git a/docs/maps/images/create_phrase_filter.png b/docs/maps/images/create_phrase_filter.png new file mode 100644 index 00000000000000..720aecf44d9faf Binary files /dev/null and b/docs/maps/images/create_phrase_filter.png differ diff --git a/docs/maps/images/create_spatial_filter.png b/docs/maps/images/create_spatial_filter.png new file mode 100644 index 00000000000000..abb52bd0b5b0a6 Binary files /dev/null and b/docs/maps/images/create_spatial_filter.png differ diff --git a/docs/maps/images/filter_icon.png b/docs/maps/images/filter_icon.png new file mode 100644 index 00000000000000..08fd9c6b10a32b Binary files /dev/null and b/docs/maps/images/filter_icon.png differ diff --git a/docs/maps/images/global_search_bar.png b/docs/maps/images/global_search_bar.png index 42445f82db65ad..c1bb1e7835e365 100644 Binary files a/docs/maps/images/global_search_bar.png and b/docs/maps/images/global_search_bar.png differ diff --git a/docs/maps/images/global_search_multiple_indices_query1.png b/docs/maps/images/global_search_multiple_indices_query1.png index 7007db3fa0a806..f019f2c4e39d64 100644 Binary files a/docs/maps/images/global_search_multiple_indices_query1.png and b/docs/maps/images/global_search_multiple_indices_query1.png differ diff --git a/docs/maps/images/global_search_multiple_indices_query2.png b/docs/maps/images/global_search_multiple_indices_query2.png index 2a97311114feb7..51017039178f19 100644 Binary files a/docs/maps/images/global_search_multiple_indices_query2.png and b/docs/maps/images/global_search_multiple_indices_query2.png differ diff --git a/docs/maps/images/tools_icon.png b/docs/maps/images/tools_icon.png new file mode 100644 index 00000000000000..677b16eb8e484d Binary files /dev/null and b/docs/maps/images/tools_icon.png differ diff --git a/docs/maps/search.asciidoc b/docs/maps/search.asciidoc index 3830ecdcbc1f00..179f05998e9920 100644 --- a/docs/maps/search.asciidoc +++ b/docs/maps/search.asciidoc @@ -2,8 +2,9 @@ [[maps-search]] == Searching your data -**Elastic Maps** embeds the query bar for real-time ad hoc search. +**Elastic Maps** embeds the search bar for real-time search. Only layers requesting data from {es} are filtered when you submit a search request. +Layers narrowed by the search context contain the filter icon image:maps/images/filter_icon.png[] to the right of layer name in the legend. You can create a layer that requests data from {es} from the following: @@ -13,13 +14,51 @@ You can create a layer that requests data from {es} from the following: ** Grid aggregation source -** <> +** <>. The search context is applied to both the terms join and the vector source when the vector source is provided by Elasticsearch documents. * <> with Grid aggregation source [role="screenshot"] image::maps/images/global_search_bar.png[] +[role="xpack"] +[[maps-create-filter-from-map]] +=== Creating filters from your map + +You can create two types of filters by interacting with your map: + +* <> +* <> + +[float] +[[maps-spatial-filters]] +==== Spatial filters + +A spatial filter narrow searchs results to documents that either intersect with, are within, or do not intersect with the specified geometry. + +You can create spatial filters in two ways: + +* Click the tool icon image:maps/images/tools_icon.png[], and then draw a polygon or bounding box on the map to define the spatial filter. +* Click *Filter by geometry* in a tooltip, and then use the feature's geometry for the spatial filter. ++ +[role="screenshot"] +image::maps/images/create_spatial_filter.png[] + +Spatial filters have the following properties: + +* *Geometry label* enables you to provide a meaningful name for your spatial filter. +* *Spatial field* specifies the geo_point or geo_shape field used to determine if a document matches the spatial relation with the specified geometry. +* *Spatial relation* determines the {ref}/query-dsl-geo-shape-query.html#_spatial_relations.html[spatial relation operator] to use at search time. Only available when *Spatial field* is set to geo_shape. + +[float] +[[maps-phrase-filter]] +==== Phrase filters + +A phrase filter narrows search results to documents that contain the specified text. +You can create a phrase filter by clicking the plus icon image:maps/images/gs_plus_icon.png[] in a feature tooltip. + +[role="screenshot"] +image::maps/images/create_phrase_filter.png[] [role="xpack"] [[maps-layer-based-filtering]] @@ -43,6 +82,18 @@ This can also occur with a single layer with an {es} source and a <> Searching across multiple indices might sometimes result in empty layers. The most common cause for empty layers are searches for a field that exists in one index, but does not exist in other indices. + +[float] +[[maps-disable-search-for-layer]] +==== Disable search for layer + +To prevent the global search bar from applying search context to a layer, clear the *Apply global filter to layer* checkbox in Layer settings. +Disabling the search context applies to the layer source and all <> configured for the layer. + +[float] +[[maps-add-index-search]] +==== Use _index in your search + Add {ref}/mapping-index-field.html[_index] to your search to include documents from indices that do not contain a search field. For example, suppose you have a vector layer showing the `kibana_sample_data_logs` documents