Why does the query_string
query allow use with cross_fields
while the simple_query_string
query does not? I need either to have access to cross_fields
in simple_query_string
or access to something like flags
in query_string
.
For more context, I'm working on implementing an end user facing search. It seems like simple_query_string
is a gift, in that it gives us features like exact matching with quotes and negative matching, but allows us to disable some of the other features that could be expensive (regex) or use characters that end users expect to be interpreted literally (+ when searching for c++). However, the semantic that we want is for all of the parts of the users query to appear in some field. This seems to me to be exactly default_operator: AND
with type:cross_fields
, but type is not supported on simple_query_string
. My first reaction was to retreat back to query_string
and try to lock it down so that the more advanced features wouldn't come up, but query_string
does not support flags
, so I'm not sure how to do that.