Commit Graph

481 Commits

Author SHA1 Message Date
Mathieu Darse
9172da904b Braindump of collection-fields map 2015-06-29 19:13:56 +02:00
Benoît Burnichon
041f017fd7 Merge pull request #1395 from jygaulier/PHRAS-442_FACETS-IN-API
PHRAS-442
2015-06-29 17:55:56 +02:00
Benoît Burnichon
28fee99fc4 Add Form for ElasticSearch Configuration.
Also changed type from array to Options object.
2015-06-29 17:10:32 +02:00
Benoît Burnichon
eeccc7184d Merge branch 'subdef-slow-events' of https://github.com/mdarse/Phraseanet into mdarse-subdef-slow-events 2015-06-23 16:03:55 +02:00
Jean-Yves Gaulier
2ee19c17f5 PHRAS-442 #time 1h
less coupling (mdarse)
2015-06-22 19:07:56 +02:00
Jean-Yves Gaulier
50ddbbed60 PHRAS-442 #time 10 m
cs
2015-06-22 18:20:22 +02:00
Jean-Yves Gaulier
1d0dcaa240 PHRAS-442 #time 5h
facets returned in API
"suggestions" returned in API (as flat facets)
2015-06-22 18:20:22 +02:00
Jean-Yves Gaulier
90ae2f2474 PHRAS-454 #time 4h 2015-06-22 17:41:32 +02:00
Jean-Yves Gaulier
7ef8e2c037 wip 2015-06-22 17:41:32 +02:00
jygaulier
e4b5b86d97 Merge pull request #1397 from jygaulier/PHRAS-582_INDEX_REVERSE_ORDER
PHRAS-582 #time 10 m
2015-06-22 14:30:44 +02:00
Mathieu Darse
a74428c8ea Empty indexer queues after flushing to index 2015-06-22 14:09:41 +02:00
Benoît Burnichon
39554459e8 Merge pull request #1406 from mdarse/thesaurus-search-regression
Fix thesaurus regression
2015-06-22 13:38:33 +02:00
Mathieu Darse
418eac8e5a Only create thesaurus filters if needed 2015-06-19 21:53:08 +02:00
Mathieu Darse
a74d0cd7bd Fix thesaurus regression from f25bdf4171
- Field class is now immutable, mergeWith() returns a new instance
- Thesaurus roots are recursively merged
- In case of field merge, Structure class do not index the previous field
- Added failing test case for previous bugs
- Added merge tests on Field class
- Added tests for all indexed stuff inside Structure class
2015-06-19 21:53:08 +02:00
Mathieu Darse
804b5a64a3 Fix type search regression 2015-06-19 21:46:28 +02:00
Benoît Burnichon
e1510143a7 Merge pull request #1392 from bburnichon/feature/controller-as-service
Controller as service

PHRAS-529
2015-06-16 11:08:03 +02:00
Mathieu Darse
ea8eb4dc07 Fix another IN search regression from 40e2df6c3f
Move getIndexFieldName() from `RecordHelper` to `Field`.
Also remove an unused injected dependency
2015-06-15 19:18:06 +02:00
Mathieu Darse
605c943af5 Fix IN search regression from 40e2df6c3f 2015-06-15 16:13:44 +02:00
Jean-Yves Gaulier
b21d3ded24 PHRAS-582 #time 10 m
populate : records are indexed from newer to older (rid desc)
2015-06-11 17:56:08 +02:00
Jean-Yves Gaulier
bea0c2a6e6 PHRAS-462 #time 5 h
populate : candidates are written under the good field
2015-06-11 17:31:23 +02:00
Benoît Burnichon
4241fd0e6c WIP with cache 2015-06-10 19:09:38 +02:00
Benoît Burnichon
cd7d8b5d3b Properly clear cache at end of tests. Avoid side-effects on others tests.
Also prevent flushing empty queues as it load mocked configuration
2015-06-09 11:12:01 +02:00
Benoît Burnichon
d0dee9ea2b Delay indexer instantiation, indexer subscriber can be called synchronously or asynchronously 2015-06-05 14:37:50 +02:00
Mathieu Darse
40e2df6c3f Search in private fields using new structure features 2015-06-03 19:45:49 +02:00
Mathieu Darse
89957c1104 Limit facets to searchable fields 2015-06-03 19:45:49 +02:00
Mathieu Darse
b14c845811 Remove remaining calls to getFieldsStructure() 2015-06-03 19:45:48 +02:00
Mathieu Darse
1e4669c122 Test structure more extensively & make isPrivate() throw on invalid field name 2015-06-03 19:45:48 +02:00
Mathieu Darse
52709fb5af More semantic Structure factory 2015-06-03 19:45:48 +02:00
Mathieu Darse
421684757a Refactor merged field structure
Here is the new model:

+-----------------------------+
|          Structure          |
+-----------------------------+
| +createFromDataboxes()      |
| getAllFields()              |
| getUnrestrictedFields()     |
| getPrivateFields()          |
| getFacetsFields()           |
| getThesaurusEnabledFields() |
| getDateFields()             |
|- - - - - - - - - - - - - - -|
| add()                       |
| get()                       |
| typeOf()                    |
| isPrivate()                 |
+-------+-+-+-----------------+
        | | |          +---------------------+
        | | +--------> |        Field        |
        | |            +---------------------+
        | |            | getName()           |
        | |            | getType()           |
        | |            | isXXX()             |
        | |            | getThesaurusRoots() |
        | |            +---------------------+
        | |
        | |            +-------+
        | +----------> | Field |
        |              +-------+
        |
        |              +-------+
        +------------> | Field |
                       +-------+

It was driven by the following use cases:
- Get list of facets (only searchable fields)
- Get list of fields with concept inference
- Get list of all fields
    - Splitted in private / public fields (to define mapping)
- Get all date fields
- Get field type
    - To apply sanitization rules
    - To define mapping
- Check if concept inference enabled
- Check if the field is searchable
- Check if the field is a facet
- Check if the field is private
- Dereference field from label (still to be done)

(The last two UCs are new)

Also removed old code from legacy search engines.

[#PHRAS-500]
2015-06-03 19:45:48 +02:00
Benoît Burnichon
649f0fe510 Refactor can see business fields. 2015-05-29 17:53:45 +02:00
Benoît Burnichon
80e2783855 Restore ability to see business fields 2015-05-29 14:19:19 +02:00
Benoît Burnichon
3856622d48 Merge pull request #1361 from mdarse/thesaurus-prefixes
Thesaurus prefixes in field structure (the return)
2015-05-11 12:07:48 +02:00
Benoît Burnichon
50ea2e26cb Remove ArrayCollection as there is no benefits to use it.
Change twig from ArrayCollection to plain array.
2015-05-05 11:09:28 +02:00
Nicolas Le Goff
2d5a36f5a2 Add highlights query 2015-05-05 11:09:28 +02:00
Mathieu Darse
f3a4b35420 Make ThesaurusHydrator code style uniform 2015-04-30 16:47:41 +02:00
Mathieu Darse
3e2c2da4a2 Fix typos 2015-04-30 16:47:01 +02:00
Mathieu Darse
dd64b01fdd Warn about missing search-time filtering 2015-04-29 20:50:18 +02:00
Mathieu Darse
feb7fd057e Add some indexer logging 2015-04-29 20:43:20 +02:00
Mathieu Darse
24bcdba635 Handle field root concepts (prefixes) on indexing 2015-04-29 20:42:51 +02:00
Mathieu Darse
30391e89b8 Add logging capabilities to thesaurus 2015-04-29 19:08:42 +02:00
Mathieu Darse
f7eea7f63d Static method dispatch in Navigator 2015-04-28 12:08:45 +02:00
Mathieu Darse
69b64540f7 Prefixes are always an array 2015-04-28 11:26:28 +02:00
Nicolas Maillat
427439f87e Merge pull request #1359 from mdarse/thesaurus-prefixes
[WIP] Thesaurus prefixes in field structure PHRAS-462  PHRAS-247
2015-04-23 16:41:02 +02:00
Mathieu Darse
c6075fcc1a Thesaurus prefixes in field structure
Also fixes candidates collected from all string fields
2015-04-22 20:46:37 +02:00
Mathieu Darse
0e6bfe4874 Fix context regression from #1347 2015-04-15 18:56:55 +02:00
Mathieu Darse
033faa1b9a Use mapping type constants 2015-04-15 18:28:12 +02:00
Mathieu Darse
c813eee73f Add equality expressions 2015-04-15 18:28:12 +02:00
Mathieu Darse
4785fbc8ed Fix indexing issue with date fields
- Date and number types sanitization
- Remove `RecordIndexer` dependency on `ElasticSearchEngine`
- Move some sanitization from `RecordIndexer` to `RecordHelper`
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