add : special values "_empty_" and "_any_" to search empty field or not-empty field. Works only with = operator.
e.g.: Title=_empty_
wip/todo : unit test ; facet
add index (not analysed) & search on fields "sha256" and "uuid"
e.g. : uuid:"4d006e01-bc38-4aac-9a5b-2c90ffe3a8a2"
e.g. : sha256:a7f3ec01c4c5efcadc639d494d432006f13b28b9a576afaee4d3b7508c4be074
- « IN » syntax was removed
- Tests where updated with new serialized representations (IN is replaced by MATCHES)
- Removed tests of native fields with IN syntax
- 4 tests (lines 77, 80, 83 and 86 in queries.csv) are not passing but
they were not really part of specified functionality. They need some work eventually.
- Replace Database/Collection/Type/RecordIdentifier specific AST with a generic KeyValueExpression
- « IN » queries in regular fields are still using InExpression right now
- Add some tests for « type:XXXX » queries
Clicking on a facet value on the left pane now return the expected result count.
This commit implement a new "raw" matcher. It can be used like
`r"some raw value"`. It operate on the the `.raw` multi-field and skips all
analysis.
Escaping `"` is supported by prepending a backslash `\"`. You can also escape
the escaping character `\` by doubling it (`\\`).
Adds a new `ContextAbleInterface` to differenciate matcher supporting an
optional context from those who can't.
Fixes an issue with `QueryContext::narrowToFields()` ignoring passed fields.
- Look for text nodes and infer the concepts behind term using thesaurus
- Use value objects for thesaurus terms and concepts
- Pass a QueryContext holding allowed fields and locales informations when building the Elasticsearch query
- Change type hinting and name of query building method on nodes
- Remove unused method Node#isFullTextOnly()
- Move getFieldsStructure from RecordIndexer to RecordHelper for reusing field structure in SearchEngine