summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartijn van Groningen <martijn.v.groningen@gmail.com>2017-06-28 17:10:30 +0200
committerMartijn van Groningen <martijn.v.groningen@gmail.com>2017-06-28 17:10:30 +0200
commit9ce9c21b836834070c584c97a35d2e232d8478d0 (patch)
tree0afa7f26ffb486234261ad1211fc6dc7c127b9cb
parentf2eeceb10dab1a7ebe736dfd32333bd0886e43d8 (diff)
docs: added percolator script query limitation
-rw-r--r--docs/reference/mapping/types/percolator.asciidoc14
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/reference/mapping/types/percolator.asciidoc b/docs/reference/mapping/types/percolator.asciidoc
index 1a5121ae30..68b734f0c8 100644
--- a/docs/reference/mapping/types/percolator.asciidoc
+++ b/docs/reference/mapping/types/percolator.asciidoc
@@ -85,9 +85,15 @@ fail.
[float]
==== Limitations
+[float]
+===== Parent/child
+
Because the `percolate` query is processing one document at a time, it doesn't support queries and filters that run
against child documents such as `has_child` and `has_parent`.
+[float]
+===== Fetching queries
+
There are a number of queries that fetch data via a get call during query parsing. For example the `terms` query when
using terms lookup, `template` query when using indexed scripts and `geo_shape` when using pre-indexed shapes. When these
queries are indexed by the `percolator` field type then the get call is executed once. So each time the `percolator`
@@ -95,3 +101,11 @@ query evaluates these queries, the fetches terms, shapes etc. as the were upon i
is that fetching of terms that these queries do, happens both each time the percolator query gets indexed on both primary
and replica shards, so the terms that are actually indexed can be different between shard copies, if the source index
changed while indexing.
+
+[float]
+===== Script query
+
+The script inside a `script` query can only access doc values fields. The `percolate` query indexes the provided document
+into an in-memory index. This in-memory index doesn't support stored fields and because of that the `_source` field and
+other stored fields are not stored. This is the reason why in the `script` query the `_source` and other stored fields
+aren't available.