Commit Graph

9449 Commits

Author SHA1 Message Date
Clément Renault
6120f6590b
Merge pull request #38 from meilisearch/facet-queries
Introduce a facet filter system
2020-11-28 17:21:07 +01:00
Clément Renault
ba4ba685f9
Make the facet levels maps to previous level groups and don't split them 2020-11-28 12:43:43 +01:00
JoffreyGe
cf74cfed15
Merge branch 'master' into UI-optimisations 2020-11-27 15:14:57 +01:00
bors[bot]
f564a9ce51
Merge #849
849: Update nbHits count with filtered documents r=MarinPostma a=balajisivaraman

Closes #764 
close #1039

After discussing with @MarinPostma on Slack, this is my first attempt at implementing this for the basic flow that will go through `bucket_sort_with_distinct`.

A few thoughts here: 

- For getting the count of filtered documents alone, I originally thought of using `filter_map.values().filter(|&&v| !v).count()`. In a few cases, this was the same as what I have now implemented. But I realised I couldn't do something similar for `distinct`. So for being consistent, I have implemented both in a similar fashion.
- I also needed the `contains_key` check to ensure we're not counting the same document ID twice.

@MarinPostma also mentioned that this will be an approximation since the sort is lazy. In the test example that I've updated, the actual filtered count will be just 19 (for `male` records), but due to the `limit` in play, it returns 32 (filtering out 11 records overall).

Please let me know if this is the kind of fix we are looking for, and I can implement it in the placeholder search also.

Co-authored-by: Balaji Sivaraman <balaji@balajisivaraman.com>
2020-11-26 09:53:13 +00:00
Joffrey Gentreau
cd1a3ad7c9 [UI] Optimisation of bulma use and accessibility 2020-11-26 10:43:34 +01:00
Jean SIMARD
85d0a914ac
[fix] Remove some clippy warnings 2020-11-23 23:24:40 +01:00
Clément Renault
276c87af68
Introduce more test to the FacetCondition struct 2020-11-23 16:43:57 +01:00
Clément Renault
a50f63840f
Return spanned pest error while parsing numbers in facet filters 2020-11-23 16:43:57 +01:00
Clément Renault
54d5cec582
Transform numbers into strings when faceted and necessary 2020-11-23 16:43:56 +01:00
Clément Renault
fc686aaca7
Use the De Morgan law to simplify the NOT operation 2020-11-23 16:43:56 +01:00
Clément Renault
7370ef8c5e
Add two simple test to the facet FacetCondition struct construction 2020-11-23 16:43:56 +01:00
Clément Renault
fc242f6e1f
Rewrite the FacetCondtion Debug impl in a defensive way 2020-11-23 16:43:56 +01:00
Clément Renault
a0adfb5e8e
Introduce a real pest parser and support every facet filter conditions 2020-11-23 16:43:55 +01:00
Clément Renault
c52d09d5b1
Support a basic version of the string facet query system 2020-11-23 16:43:55 +01:00
Clément Renault
498f0d8539
Output the documents count for each facet value in the infos subcommand 2020-11-23 16:43:55 +01:00
Clément Renault
278391d961
Move the facets related system into the new search module 2020-11-23 16:43:54 +01:00
Clément Renault
531bd6ddc7
Make the facet operator evaluation code generic 2020-11-23 16:43:54 +01:00
Clément Renault
d40dd3e4da
Reduce the amount of duplicated code to iterate over facet values 2020-11-23 16:43:54 +01:00
Clément Renault
07a0c82790
Bump heed to 0.10.4 to use be able to lazily decode roaring bitmaps 2020-11-23 16:43:53 +01:00
Clément Renault
59ca4b9fe4
Introduce a little bit of debug when deleting documents 2020-11-23 16:43:53 +01:00
Clément Renault
0694cc4916
Drastically speed up documents deletion updates 2020-11-23 16:43:53 +01:00
Clément Renault
38c76754ef
Make the facet level search system generic on f64 and i64 2020-11-23 16:43:52 +01:00
Clément Renault
9e2cbe3362
Improve the FacetLevelF64 serialization 2020-11-23 16:43:52 +01:00
Clément Renault
ced0c29c56
Simplify getting the biggest level of a facet field 2020-11-23 16:43:52 +01:00
Kerollmops
7d67c9e2e7
Improve the facet search algorithm performances 2020-11-23 16:43:52 +01:00
Clément Renault
67d4a1b3fc
Introduce a new update for the facet levels 2020-11-23 16:43:51 +01:00
Clément Renault
45e0feab4e
Speed up the facets stats infos subcommand 2020-11-23 16:43:51 +01:00
Kerollmops
7a6e6eb5e2
Introduce a facets stats infos subcommand 2020-11-23 16:43:51 +01:00
Clément Renault
9ec95679e1
Introduce a function to retrieve the facet level range docids 2020-11-23 16:43:50 +01:00
Clément Renault
57d253aeda
Improve the infos biggest-value subcommand to support facets 2020-11-23 16:43:50 +01:00
Clément Renault
fd8360deb1
Update the facet indexing facet test 2020-11-23 16:43:50 +01:00
Clément Renault
9b7e516a56
Fix the indexing process going back in time 2020-11-23 16:43:49 +01:00
Clément Renault
b255be93fa
Bump heed to 0.10.3 2020-11-23 16:43:49 +01:00
Clément Renault
218eb97241
Introduce an input field for the facet filters on the http-ui 2020-11-23 16:43:49 +01:00
Clément Renault
2341b99379
Support a basic facet based query system 2020-11-23 16:43:49 +01:00
mpostma
d3e7e18b7d disable frontend in production 2020-11-23 13:13:10 +01:00
Clément Renault
1d5795d134
Merge pull request #39 from meilisearch/speedup-documents-ids-merging
Speedup documents ids merging
2020-11-22 19:32:24 +01:00
Clément Renault
05c95dfdc6
Introduce an infos subcommand that patches the external documents ids 2020-11-22 19:27:34 +01:00
Clément Renault
27f3ef5f7a
Use the new ExternalDocumentsIds struct in the engine 2020-11-22 19:27:34 +01:00
Clément Renault
fe82516f9f
Use the ExternalDocumentsIds in the Index struct 2020-11-22 19:27:34 +01:00
Clément Renault
415c0b86ba
Introduce the ExternalDocumentsIds struct 2020-11-22 19:27:33 +01:00
Clément Renault
eded5558b2
Rename the users ids documents ids into external documents ids 2020-11-22 17:17:47 +01:00
Clément Renault
f06355b0bb
Display the time it takes to merge user documents ids 2020-11-22 11:28:35 +01:00
bors[bot]
d6c76b02e3
Merge #1090
1090: remove update changelog ci check r=Kerollmops a=MarinPostma



Co-authored-by: mpostma <postma.marin@protonmail.com>
2020-11-20 09:49:48 +00:00
bors[bot]
fe3e20751c
Merge #1089
1089: Fix clear bug r=Kerollmops a=MarinPostma

close #1088 

The placeholder data was not cleared on when deleting all documents.

Co-authored-by: mpostma <postma.marin@protonmail.com>
2020-11-20 09:24:24 +00:00
bors[bot]
aab041e692
Merge #1082
1082: remove maintenance error from http r=MarinPostma a=MarinPostma

remove the maintenance error from `meilisearch-http`

close #1061 

Co-authored-by: mpostma <postma.marin@protonmail.com>
2020-11-19 15:42:33 +00:00
Balaji Sivaraman
75e22fc7f5 feat(search): update nbHits count with filtered docs for placeholder search 2020-11-19 21:02:47 +05:30
bors[bot]
6fff49b33b
Merge #1087
1087: Add deploy on Platform.sh option to README r=Kerollmops a=chadwcarlson

We have had a lot of success using Meilisearch on our public documentation, and I've put together the "movies" demo to quickly show it off. Included in our template README is instructions for modifying the template deployment to make it production ready. 

All the best.

As per CONTRIBUTING, related to https://github.com/meilisearch/MeiliSearch/issues/1086

Co-authored-by: chadcarlson <chad.carlson@platform.sh>
2020-11-19 15:10:13 +00:00
mpostma
2eaab48532 remove Maintenance error for error lib 2020-11-19 15:12:12 +01:00
Balaji Sivaraman
43df4a56c4 feat(search): update nbHits count with filtered docs for core flow 2020-11-19 19:35:37 +05:30