Commit Graph

481 Commits

Author SHA1 Message Date
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
5bbd4bfe33 Fix values lookup on thesaurus hydrator 2015-07-24 18:13:18 +02:00
Benoît Burnichon
81cce5efa2 Merge pull request #1456 from mdarse/fix-regular-text-search
Fix query builds to only hit compatible fields
2015-07-24 17:05:50 +02:00
Mathieu Darse
3569d47467 Fix query builds to only hit compatible fields 2015-07-24 15:28:21 +02:00
Benoît Burnichon
3a8e147db5 Merge pull request #1455 from mdarse/fix-number-field-search
Remove unused QueryContext#getRawFields()
2015-07-24 12:49:52 +02:00
Benoît Burnichon
7e76236a06 Merge pull request #1453 from mdarse/invalid-field-query
Handle queries with invalid fields
2015-07-24 11:26:57 +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
afbb0e3696 Handle queries with invalid fields
They lead to zero result instead of all results from elasticsearch.
2015-07-23 19:11:12 +02:00
Mathieu Darse
af129601e7 Remove unused QueryContext#getRawFields() 2015-07-23 19:03:34 +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
Jean-Yves Gaulier
82a8c97790 #PHRAS-606 #time 5m
fix: mime is forced into es
2015-07-21 18:23:21 +02:00
Jean-Yves Gaulier
00f8c8735d #PHRAS-606 #time 4h
fix default "binary" thumbnails for stories
nb : must re-populate
2015-07-21 16:54:36 +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
a813ef51e7 Restrict facets to show only visible content on private fields 2015-07-17 14:30:01 +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
7a330d2ef6 Fix highlight on private fields 2015-07-16 18:28:34 +02:00
Mathieu Darse
419c147982 Fix LimitedCollection::get() & add tests 2015-07-16 18:27:48 +02:00
Mathieu Darse
83d9cd4790 Fix getUnrestrictedFields() when called on non narrowed query context
Add tests and prevent AST to rely on field key by returning indexed arrays
instead of associative ones.
2015-07-16 15:44:16 +02:00
Jean-Yves Gaulier
d012978508 PHRAS-504 #time 8h
fix: prod / cr-lf in metadata is ok for aggregate  filter
cr,lf,crlf are normalized
- getting field values from recordadapter
- during es indexation (direct sql read in metadata...)
- before querying
2015-07-15 11:10:38 +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
d778ab5126 Refactor query context
No more private collection map, uses new features from LimitedStructure.
From now on, Context tries to return Field objects instead of strings.

New context methods:
- getUnrestrictedFields()
- getPrivateFields()
- localizeField(Field) (signature changed)
- localizeFieldName(string)

QueryContext::localizeField() now takes a Field object, use localizeFieldName() if you want to pass a string.

Field::getIndexFieldName() renamed to Field::getIndexField().
Raw index fields are now obtained with Field::getIndexField(true).
2015-07-10 17:33:10 +02:00
Mathieu Darse
929705f13e Structure -> GlobalStructure + LimitedStructure
Rename Structure to GlobalStructure.
Add new LimitedStructure to wrap another Structure and transparently restrict
access on private fields.
2015-07-10 12:30:13 +02:00
Mathieu Darse
83999b425c Fix private fields collections 2015-07-09 11:28:57 +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
393e4c62c1 Test thesaurus Concept 2015-07-03 16:57:33 +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
Benoît Burnichon
6e52421437 Merge pull request #1390 from mdarse/private-fields-collection-map
Fields « used by » collection map
2015-07-02 12:55:45 +02:00
Benoît Burnichon
d645b92afa Add AclAware Trait 2015-07-02 12:33:18 +02:00
Benoît Burnichon
4880f2bf5a Add getAuthenticator usage
Replace $app['authentication']->getUser() by $app->getAuthenticatedUser()
replace twig app['authentication'].getUser() with corresponding method
2015-07-02 12:33:18 +02:00
Benoît Burnichon
dbb33c85b9 Rename GlobalElasticOptions ElasticsearchOptions 2015-07-02 12:27:25 +02:00
Mathieu Darse
0f7deea610 Fix wrong query context instanciation 2015-07-02 12:25:36 +02:00
Mathieu Darse
ebbcd3f4dd Restore privateCollectionMap in context & fix tests 2015-07-02 12:10:36 +02:00
Jean-Yves Gaulier
ce80c4222b PHRAS-482 #time 1m
CS
2015-07-02 11:09:11 +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
Benoît Burnichon
7711d89ad2 Remove privateCollectionMap as not used and make test fail. 2015-06-29 20:28:16 +02:00
Mathieu Darse
6da62a55b3 Fix search options serialization & query context creation 2015-06-29 19:15:52 +02:00
Mathieu Darse
4157d14d1b Get collections by private fields & filter collections by user rights 2015-06-29 19:15:52 +02:00
Mathieu Darse
801314bf59 Fix tests 2015-06-29 19:15:52 +02:00
Mathieu Darse
8e45b3872f Fix context create 2015-06-29 19:15:52 +02:00
Benoît Burnichon
fea47ef5ee Change Elastic Field structure to cope with Collection base_ids 2015-06-29 19:15:52 +02:00
Benoît Burnichon
acb8ed86c8 Retrieve Collections indexed by field name 2015-06-29 19:15:51 +02:00
Benoît Burnichon
a0cc568a0c CS fixes 2015-06-29 19:15:43 +02:00