I am providing accessibility to search on ES using my own UI which uses query string.
Selecting query string is essential, beacuse the users might not be familier with advance quering in ES, And I would like to keep their queries as simple as possible.
In practice, I am just taking the user's query and send it to ES inside query string schema without changing the query itself.
My current solution is to parse every user's query from query string to dsl in the backend , which will must include considerating the field mapping (nested or not).
Is there a better way you can think of?
If not, is the parsing solution already exist?
That is very similar to my solution of creating parser, which parse query string to dsl.
The main issue of this solutions is that for each user's query, I will need to parse his query and compare each field to the mapping, in order to find if it nested field or not.
This is heavy duty job and a lot more complex comparing to the current state.
Hm, does it make sense to switch from a query string query to a multi match query so that the user cannot specify the fields and you do it for the user, or is this a feature?
if so, I'm afraid you need to go with your own parser then... I don't have any good idea to solve that.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.