Commit Graph

61 Commits

Author SHA1 Message Date
Nicolas Maillat
15e632b44e Merge pull request #1502 from mdarse/ar-731-status-search-dsl
PHRAS-731 Add status match DSL
2015-09-15 09:22:17 +02:00
Mathieu Darse
8b87e94ff2 Add status match DSL 2015-09-14 19:25:44 +02:00
Benoît Burnichon
a41df40d49 Merge pull request #1497 from mdarse/fix-691-cross-field-query
PHRAS-691
2015-09-08 10:52:07 +02:00
Mathieu Darse
03cddfadc9 Fix freetext after IN query
"Foo IN Bar AND Baz" causes AST construction to fail.
2015-09-07 17:35:03 +02:00
Mathieu Darse
a3efd78055 Fix cross field queries (see PHRAS-691) 2015-09-07 16:05:10 +02:00
Jean-Yves Gaulier
e8f61a443b PHRAS-676 #time 3h
new : returns facet on "type" (image, video, ...)
new : query on pseudo-field "type", ex:  "type:image"
2015-09-04 14:34:25 +02:00
Mathieu Darse
ed0affa921 buildConceptQueriesForFields() replaces buildConceptQueries() 2015-08-27 17:35:34 +02:00
Mathieu Darse
064c5e01a6 Wrap text and concept queries with a single filtered query 2015-08-26 19:29:26 +02:00
Mathieu Darse
d6a44c8a52 Lower-level API to build concept queries
Removes wrapPrivateFieldConceptQueries().
The goal is to wrap text and concept queries with a single call to wrapPrivateFieldQueries().
2015-08-26 19:29:26 +02:00
Mathieu Darse
9d6a428208 Remove concept queries wrapping method 2015-08-26 19:29:26 +02:00
Mathieu Darse
e058814638 Test TextNode with private fields and concepts on private fields 2015-08-26 19:29:26 +02:00
Benoît Burnichon
b1bdd73662 Merge pull request #1478 from mdarse/fix-concept-query-builder
Fix concept query builder & private field wrapping
2015-08-26 18:07:58 +02:00
Mathieu Darse
c596914ab9 Fix concept query builder & private field wrapping
Concept queries on private fields where adding a « must » clause to
restrict match on certain collections only. Boolean queries do not
enforce one « should » clause match at least once a « must » clause is
added to it.
To make queries on private fields more robust & performants, these are
now wrapped in a filtered query with a collection filter.
2015-08-26 15:21:02 +02:00
Mathieu Darse
d26330a17f Fix date validation, range query & equality operator 2015-08-24 11:26:46 +02:00
Jean-Yves Gaulier
41758fe341 #PHRAS-622 #time 5m
cs to fix errors in phpstorm
2015-08-17 15:18:33 +02:00
Jean-Yves Gaulier
d984938614 #PHRAS-622 #time 3h
add 'lenient' to prevent es errors when parsing invalid dates
cs
2015-07-29 16:39:19 +02:00
Mathieu Darse
3569d47467 Fix query builds to only hit compatible fields 2015-07-24 15:28:21 +02:00
Benoît Burnichon
b558cf9de3 Merge pull request #1452 from mdarse/fix-number-field-search
Fix number field search
2015-07-23 22:11:54 +02:00
Mathieu Darse
a59c42980c Fix facets on non string fields & fix raw with "in" query 2015-07-23 18:41:10 +02:00
Mathieu Darse
a31442368b Fix number field search
Search with non numeric content will not hit number field (it breaks elasticsearch and is useless anyway)

- Rename QueryHelper::buildPrivateFieldQueries() to wrapPrivateFieldQuery().
    - Signature changed too, the third parameter is dropped an QueryContext is replaced by an array of Field.
    - Query builder closure is now passed an array of Field, not of index field names.
- Remove Field::toConceptPathIndexFieldArray() because method name was beyond understanding (and also because it wasn't needed anymore)
- Various AST node types have changed due to previous API changes
2015-07-23 17:39:11 +02:00
Benoît Burnichon
e0573fc4f6 Merge pull request #1423 from mdarse/private-fields-ast
Restrict search on visible private fields
2015-07-17 17:36:30 +02:00
Mathieu Darse
daea7f8c77 Raw queries do not localize fields anymore 2015-07-17 15:58:39 +02:00
Mathieu Darse
44cb5824e7 Implement private fields on range an equal nodes
New QueryContext::get() method
Removed QueryContext::normalizeField(), can be replaced with get() and a call to
Field::getIndexField().
2015-07-16 20:11:43 +02:00
Mathieu Darse
78ab5b31dc Fix search when narrowed to private fields only 2015-07-16 19:52:25 +02:00
Mathieu Darse
1e31b68c5f Refactor Term (Thesaurus), Text and Raw queries to work with private fields
Also fix a bug in QueryHelper::applyBooleanClause()
2015-07-10 20:58:37 +02:00
Mathieu Darse
aa0b40b679 Test TermNode 2015-07-03 20:01:29 +02:00
Mathieu Darse
6b88b7d17b Tests & private fields support on QuotedTextNode 2015-07-03 20:01:20 +02:00
Mathieu Darse
92e56105bd Generalize private fields query build 2015-07-03 18:58:35 +02:00
Mathieu Darse
386251b91c Remove duplication & fix test class name 2015-07-03 17:40:56 +02:00
Mathieu Darse
570e4fea81 Test TextNode
Make buildConceptQueries() return early when no concepts are available (do not
call getFields() uselessly anymore).
2015-07-03 16:54:47 +02:00
Mathieu Darse
e4aafaac10 Restrict search on visible private fields
Search on private fields is only supported on bare text search right now (TextNode).
This also fix and issue on databox::get_collection_unique_ids() returning the
value from the first call over and over.
2015-07-03 14:33:48 +02:00
Mathieu Darse
1d0257554b Fix code style on latest query parser feature & add tests 2015-07-02 19:06:44 +02:00
Jean-Yves Gaulier
d7c3a9943f PHRAS-482 #time 4h
- added "recordid:xxx"
- added "base:yyy" (makes "Base" facets ok)
to query parser
2015-07-01 17:54:32 +02:00
Mathieu Darse
c813eee73f Add equality expressions 2015-04-15 18:28:12 +02:00
Mathieu Darse
fcc3f1ba24 Fix range query field 2015-04-15 18:28:12 +02:00
Mathieu Darse
34a88d9ac6 Simpler range AST constructors 2015-04-15 18:23:36 +02:00
Mathieu Darse
b3f9dd4ca2 Implement inequality in query visitor & fix IN expressions 2015-04-15 18:23:36 +02:00
Mathieu Darse
38465a591f Strict facet matching
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.
2015-04-09 20:32:13 +02:00
Mathieu Darse
a9a1d44447 Fix term/text/context nodes merging 2015-03-30 16:30:12 +02:00
Mathieu Darse
67dcd09a39 Add "collection:" query support 2015-03-17 19:45:24 +01:00
Mathieu Darse
99e61d6368 Use conjonction for coalesced words in text nodes 2015-03-12 11:41:19 +01:00
Mathieu Darse
c917c7f952 Thesaurus matching while indexing records
- Add a new hydrator to ask query thesaurus on the fly
- Add a filtering system on thesaurus
- And a databox filter friend
2015-03-03 18:50:34 +01:00
Mathieu Darse
2ac931c66f Better context dump 2015-02-25 12:22:53 +01:00
Mathieu Darse
dcb8da99aa TermNode is not a TextNode 2015-02-25 12:22:52 +01:00
Mathieu Darse
fe7e63b3d7 QuotedTextNode don't inherit anymore from TextNode
- Quoted text do not hit the thesaurus anymore
- getTextNodes() was misleading, renamed to getTermNodes()
2015-02-25 12:22:52 +01:00
Mathieu Darse
8c1848afae Expression context support in thesaurus lookup 2015-02-25 12:22:13 +01:00
Mathieu Darse
e5bda79cf8 Bracket syntax does a thesaurus search only 2015-02-25 12:19:00 +01:00
Mathieu Darse
712850ac67 Update grammar and AST for bracket notation 2015-02-25 12:19:00 +01:00
Mathieu Darse
2f0863000f Update null query node with new API 2015-01-20 18:28:39 +01:00
Mathieu Darse
9560628037 Prune narrow concepts while building query 2015-01-20 18:28:22 +01:00