rnewson commented on issue #5483:
URL: https://github.com/apache/couchdb/issues/5483#issuecomment-2737370645

   Right, had to re-familiarise myself with the obfuscating mango/_find layer 
and I think all of this is correct behaviour (🤮 , right?)
   
   with _find you can only perform text queries on the default field (which is 
the concatenation of all your `string` fields). when you use the `$text` 
operator it constructs the query as `$default:whateveryoutyped`. So if you 
searched for `title:foo` you'd query `$default:title:foo` which is either a 
syntax error or at the very least won't watch docs with 'foo' in the title 
field (and it's not even called 'title' in the index that mango creates).
   
   So...
   
   1. don't search on the `string` fields, they can be sorted on though (they 
can also be used as facets but _find has never been able to reach that feature 
even with clouseau)
   2. when using `$text` remember it is searching across all `string` fields 
(indexed with the default analyzer, so don't set that to `keyword` if you want 
to do term, phrase, wildcard queries.
   
   The real interface to nouveau is the `_nouveau` endpoint. None of these 
issues affect that. The index is built with the field names and types that you 
specify with the `index` function and the `?q=` query parameter supports 
fielded search queries and everything else.
   
   tldr;
   
   the mango / _ find is a deliberately constrained interface to help users 
that know the mongo syntax and it has many limitations.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@couchdb.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to