1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
[[query-dsl-regexp-filter]]
=== Regexp Filter
The `regexp` filter is similar to the
<<query-dsl-regexp-query,regexp>> query, except
that it is cacheable and can speedup performance in case you are reusing
this filter in your queries.
See <<regexp-syntax>> for details of the supported regular expression language.
[source,js]
--------------------------------------------------
{
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"regexp":{
"name.first" : "s.*y"
}
}
}
}
--------------------------------------------------
You can also select the cache name and use the same regexp flags in the
filter as in the query.
*Note*: You have to enable caching explicitly in order to have the
`regexp` filter cached.
[source,js]
--------------------------------------------------
{
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"regexp":{
"name.first" : {
"value" : "s.*y",
"flags" : "INTERSECTION|COMPLEMENT|EMPTY"
},
"_name":"test",
"_cache" : true,
"_cache_key" : "key"
}
}
}
}
--------------------------------------------------
|