Commit Graph

8821 Commits

Author SHA1 Message Date
bors[bot]
15464e57af
Merge #1172
1172: Fix atomic snapshot creation r=MarinPostma a=raszi

Compress gzip files to a temporary file first and then do an atomic rename.

In our setup we have an indexer which does snapshoting for the instances serving the requests. Since currently the snapshoting mechanism is replacing the file in place therefore the indexer could not share the snapshot with a live instance. 

With this small patch we first create a new temporary file in the same directory as the snapshot dir and then we do an atomic rename therefore the snapshot path would always contain a valid snapshot.
After applying this change it would be enough to simply restart the serving instances to pick up the new snapshot from a shared storage without worrying them to die because of an incomplete snapshot.

Co-authored-by: KARASZI István <ikaraszi@gmail.com>
2021-02-02 12:37:33 +00:00
bors[bot]
c984fa1071
Merge #1176
1176: fix race condition in  document addition r=Kerollmops a=MarinPostma

As described in #1160, there was a race condition when updating settings and adding documents simultaneously. This was due to the schema being updated and document addition being processed in two different transactions. This PR moves the schema update logic for the primary key in the same transaction as the document addition, while maintaining the input checks for the validity of the primary key in the http route, in order not to break the error reporting for the document addition route.

close #1160.

Co-authored-by: mpostma <postma.marin@protonmail.com>
Co-authored-by: marin <postma.marin@protonmail.com>
2021-02-02 09:26:32 +00:00
mpostma
8f43698a60
fix httpui 2021-02-01 19:49:51 +01:00
mpostma
3b60432687
Use update_id in UpdateBuilder
Add `the update_id` to the to the updates. The rationale is the
following:
- It allows for better tracability of the update events, thus improved
  debugging and logging.
- The enigne is now aware of what he's already processed, and can return
  it if asked. It may not make sense now, but in the future, the update
  store may not work the same way, and this information about the state
  of the engine will be desirable (distributed environement).
2021-02-01 19:46:34 +01:00
mpostma
d487791b03
derive serde for method and format
This is nicer when working with UpdateMeta struct
2021-02-01 19:46:34 +01:00
mpostma
91d8198d17
return documents number on addition 2021-02-01 19:42:10 +01:00
mpostma
97f35de41f
fix flaky test 2021-02-01 18:59:22 +01:00
Clément Renault
fa0cc2dc13
Merge pull request #66 from meilisearch/show-available-facets
Expose an API to compute facets distribution
2021-02-01 18:39:45 +01:00
Clément Renault
14ae01a6c9
Fix some typos in error messages 2021-02-01 18:10:57 +01:00
bors[bot]
81e9fd8933
Merge #1184
1184: normalize synonyms during indexation r=MarinPostma a=LegendreM

fix #1135 #964

Normalizes the synonyms before indexing them, so they are not case sensitive anymore. Then normalization also involves deunicoding is some cases, such as accents, so `été` and `ete` are considered equivalent in a search for synonyms.

Co-authored-by: many <maxime@meilisearch.com>
Co-authored-by: Many <legendre.maxime.isn@gmail.com>
2021-02-01 14:12:57 +00:00
mpostma
17c463ca61
remove unused deps 2021-02-01 13:32:21 +01:00
KARASZI István
f0ca193122 Merge branch 'master' into atomic-rename 2021-02-01 13:30:51 +01:00
Many
940f83698c
Update meilisearch-core/src/update/settings_update.rs
Co-authored-by: marin <postma.marin@protonmail.com>
2021-02-01 12:06:48 +01:00
mpostma
ccb7104dee
add tests for IndexStore 2021-01-29 19:14:23 +01:00
mpostma
da056a6877
comment tests out 2021-01-28 20:55:29 +01:00
mpostma
e9c95f6623
remove useless files 2021-01-28 19:43:54 +01:00
bors[bot]
f37a420a04
Merge #1174
1174: Limit query words number r=MarinPostma a=MarinPostma

This pr adds a limit to the number of words taken into account in a search query. Using query string that are too long leads to huge performance hits and ressources consumtion, that occasionally crashes the machine. The limit has been hard set to 10, and tests have been added to make sure that it is taken into account.

close #941

Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-01-28 17:38:34 +00:00
mpostma
6c63ee6798
implement list all indexes 2021-01-28 18:32:24 +01:00
mpostma
60371b9dcf
get update id 2021-01-28 17:20:51 +01:00
mpostma
4119ae8655
setttings update 2021-01-28 16:57:53 +01:00
mpostma
8183202868
documetn addition and search 2021-01-28 15:14:48 +01:00
mpostma
74410d8c6b
architecture rework 2021-01-28 14:12:34 +01:00
Clément Renault
f5f4438b43
Remove the duplicated code inside the facet_values_from_documents method 2021-01-28 11:22:18 +01:00
bors[bot]
c1808513fe
Merge #1211
1211: update tokenizer to v0.1.3 r=MarinPostma a=LegendreM

fix #1188

Co-authored-by: many <maxime@meilisearch.com>
2021-01-28 09:50:38 +00:00
many
eeccdce33a
update tokenizer to v0.1.3 2021-01-28 10:33:44 +01:00
bors[bot]
a6667b14df
Merge #1193
1193: Update LICENSE year r=MarinPostma a=curquiza



Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-01-28 09:17:55 +00:00
bors[bot]
62e908264e
Merge #1207
1207: fix homebrew name r=MarinPostma a=fharper

brew is the command, the package manager name is homebrew

Co-authored-by: Frédéric Harper <hi@fred.dev>
2021-01-28 08:45:07 +00:00
Clément Renault
b6e91291fb
Add a comment to explain Serialize on FacetValue is implemented by hand 2021-01-27 18:29:56 +01:00
Clément Renault
b41bf58658
Split the FacetDistribution facet_values method into three 2021-01-27 18:29:56 +01:00
Clément Renault
a3e3bebed7
Rework the FacetDistribution execute method to use the faceted_fields struct 2021-01-27 18:29:54 +01:00
Clément Renault
11309ee99c
Rework the FacetDistribution execute method to use the faceted_fields struct 2021-01-27 14:53:50 +01:00
Clément Renault
9c8a654079
Add comments to help read the facet_values branchings 2021-01-27 14:49:08 +01:00
Clément Renault
2e00740515
Make sure that we don't iterate throught all string facet values 2021-01-27 14:41:36 +01:00
Clément Renault
b52d500fbc
Reorder the FacetType enum branching in the facet_value method 2021-01-27 14:36:49 +01:00
Clément Renault
d91d321129
Introduce some constants to the FacetDistribution struct and settings 2021-01-27 14:32:30 +01:00
Clément Renault
60480a1e2f
Rework the FacetCondition from_array constructor 2021-01-27 14:25:53 +01:00
Clément Renault
65b821b192
Rename the Index facets method into facets_distribution 2021-01-27 14:15:33 +01:00
Clément Renault
433ac8c38a
Remove the ordered-float serde feature 2021-01-27 14:11:10 +01:00
Frédéric Harper
2fe52d0a4f
fix homebrew name
brew is the command, the package manager name is homebrew
2021-01-26 15:14:53 -05:00
Frédéric Harper
d01c93aeee
fix running URL display
by doing that you can just click on it in the terminal if you want
2021-01-26 15:11:46 -05:00
Clément Renault
70e9b1e936
Introduce a flag to the search subcommand to display the facet distribution 2021-01-26 14:58:18 +01:00
Kerollmops
61dbcfa44a
Bump the roaring to 0.6.4 2021-01-26 14:38:43 +01:00
Kerollmops
916dd3b7c5
Use the faceted_fields_ids method to fetch the ids 2021-01-26 14:14:38 +01:00
Clément Renault
b0c31500fc
Simplify the front page 2021-01-26 14:14:38 +01:00
Kerollmops
7be275b692
Add the count to the facet distribution 2021-01-26 14:14:37 +01:00
Clément Renault
4b9e81fc89
Order the facet values lexicographically 2021-01-26 14:09:09 +01:00
Clément Renault
51a37de885
Introduce the FacetValue enum type 2021-01-26 14:09:09 +01:00
Kerollmops
d893e83622
Speed-up facet aggregation by using a FacetIter 2021-01-26 14:09:08 +01:00
Kerollmops
33945a3115
Introduce a new facet filters query field 2021-01-26 14:09:08 +01:00
Kerollmops
afa86d8a45
Add a simple test to the FacetCondition from_array method 2021-01-26 14:06:29 +01:00