Hi,
I have issues to understand the Query_string operator.
I am building a few search providers for my CMS and I already implemented Elastic Search and Azure Cognitive Search. Because my main database is MongoDB, Atlas Search could be a good fit for the users, who actually use Atlas.
There are a few differences to azure and elastic and I don’t understand whether I am doing something wrong or not.
What all three service have in common is that they are built on top of lucene, therefore I though that the query_string operator uses the lucene query syntax as it seems to be done by elastic and azure: Apache Lucene - Query Parser Syntax.
Documentation about the elastic query string query can be found under: Query string query | Elasticsearch Guide [8.6] | Elastic
There are a few thing that work differently:
- The Atlas query_string does not support fuzzy operator like
helo~
. - The Atlas query_string cannot search in multiple fields, because “*” is not supported as a default_path.
- The Atlas query_string does not seem to support the lucene syntax at all.
Because Atlas search is also based on lucene I do not understand the reason for that. Is there something I do wrong? Is there a converter from lucene query syntax to the json structure from Mongo Atlas?