Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes related to MeiliSearch v0.22.0 #139

Closed
11 tasks done
curquiza opened this issue Aug 31, 2021 · 3 comments
Closed
11 tasks done

Changes related to MeiliSearch v0.22.0 #139

curquiza opened this issue Aug 31, 2021 · 3 comments

Comments

@curquiza
Copy link
Member

curquiza commented Aug 31, 2021

This issue gathers the changes related to the v0.22.0 of MeiliSearch that will impact the integrations

Only 1 issue impacts the integration team for this iteration! 🎉

Sort during query time

The users are now able to sort the result during query time, see this issue: meilisearch/meilisearch#1581

⚠️ Please refer to the spec for more details: https://github.com/meilisearch/specifications/blob/develop/text/0055-sort.md

New settings: sortableAttributes

  • Add the new settings sortableAttributes
  • Add new methods to get, update and reset it
  • Add tests

New search parameter: sort

  • Add the new search parameter sort
  • Add tests

New sort ranking rules

A new sort ranking rule is added, in the third position.
This can impact the tests.

New custom ranking rule syntax

Before:

"asc(title)"

Now:

"title:asc"

Can impact the tests

Code samples

  • New code samples will be added, I'll let you know as soon as I synchronize with the docs team.
  • Some code samples should be updated: about the new ranking rule and the custom ranking rule syntax

Impact

The SDKs are impacted

  • meilisearch-dart
  • meilisearch-dotnet
  • meilisearch-go
  • meilisearch-java
  • meilisearch-js
  • meilisearch-php
  • meilisearch-python
  • meilisearch-ruby
  • meilisearch-rust
  • meilisearch-swift

Also

  • instant-meilisearch: new feature could be now available thanks to the sort introduction, @bidoubiwa can you confirm?
@bidoubiwa
Copy link
Contributor

bidoubiwa commented Sep 2, 2021

Compatible Widget

Sortby Widget

Ui of the widget:

Screenshot 2021-09-02 at 17 34 39

Screenshot 2021-09-02 at 17 36 10

Usage of the widget:

<SortBy
  defaultRefinement="instant_search"
  items={[
    { value: 'instant_search', label: 'Featured' },
    { value: 'instant_search_price_asc', label: 'Price asc.' },
    { value: 'instant_search_price_desc', label: 'Price desc.' },
  ]}
/>
  • items is the list of indices to search in, with each item:
    • label: string: the label of the index to display.
    • value: string: the name of the index to target.
  • defaultRefinement: The index selected by default.

The way it works in instantSearch and algoliaClient is that for every item, you provide a label that is shown in the drop down menu and, a value that represents the index containing the ranking rule relevant to its purpose.

As it is technically possible in MeiliSearch to do the same, we should choose if we want to go this route or if we prefer using the sortBy at query time.

1. Algolia's way

Suggest to the user to create multiple indexes with different ranking rules adding asc(..) or desc() and use it the same way Algolia does.

2. Query time way

    { value: 'instant_search', label: 'Featured' },
    { value: 'instant_search_price_asc', label: 'Price asc.' },
    { value: 'instant_search_price_desc', label: 'Price desc.' },

we ask to the user to syntax the value field the following way value="release_date:asc" and instead of switching index we use the value as the sort search parameter in instant-meilisearch.

and for the defaultRefinement the user should add the sort instead of the index name:
defaultRefinement="age:asc"

    { value: '', label: 'Featured' },
    { value: 'price:asc', label: 'Price asc.' },
    { value: 'price:desc', label: 'Price desc.' },

Due to instantSearch overriding the indexName when using sortby the following syntax is now used

{
  value: 'steam-video-games:recommendationCount:asc',
  label: 'Least Recommended',
},

Not compatible Widgets

RelevanSort Widget

Relevant sort is a premium feature that Algolia offers which let the user activate or desactive a relevancyStrictness setting.

By default the sort is applied after the hits are found via their relevancy rules, by switching mode using the relevanctSort widget, the relevancyStrictness is applied which will make the sorting more or less important (ie: change the position of sort in the ranking rules`).

As we do not propse toggling between modes in MeiliSearch this widget is not compatible.

the following widgets are still not compatible with sortBy as they are sortBy on the facets values (ex: adventure, comedy, ..):

@curquiza
Copy link
Member Author

curquiza commented Sep 7, 2021

Thanks @bidoubiwa!!

About code samples, here are the new ones:

sorting_guide_update_sortable_attributes_1: |-
sorting_guide_update_ranking_rules_1: |-
sorting_guide_sort_parameter_1: |-
sorting_guide_sort_parameter_2: |-
get_sortable_attributes_1
update_sortable_attributes_1
reset_sortable_attributes_1
search_parameter_guide_sort_1: |-

Please refer to the Gui's PR: https://github.com/meilisearch/documentation/pull/1087/files

Edit: the list has been updated with the new titles

bors bot added a commit to meilisearch/meilisearch-rust that referenced this issue Sep 13, 2021
169: Changes related to the next MeiliSearch release (v0.22.0) r=curquiza a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-ruby that referenced this issue Sep 13, 2021
210: Changes related to the next MeiliSearch release (v0.22.0) r=curquiza a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-dotnet that referenced this issue Sep 13, 2021
147: Changes related to the next MeiliSearch release (v0.22.0) r=curquiza a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-dart that referenced this issue Sep 13, 2021
82: Changes related to the next MeiliSearch release (v0.22.0) r=curquiza a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Paul Sanders <psanders1@gmail.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-js that referenced this issue Sep 13, 2021
968: Bump @rollup/plugin-node-resolve from 13.0.0 to 13.0.4 r=bidoubiwa a=dependabot[bot]

Bumps [`@rollup/plugin-node-resolve](https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve)` from 13.0.0 to 13.0.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rollup/plugins/blob/master/packages/node-resolve/CHANGELOG.md"><code>`@​rollup/plugin-node-resolve</code>'s` changelog</a>.</em></p>
<blockquote>
<h2>v13.0.4</h2>
<p><em>2021-07-24</em></p>
<h3>Bugfixes</h3>
<ul>
<li>fix</li>
</ul>
<h2>v13.0.3</h2>
<p><em>2021-07-24</em></p>
<h3>Bugfixes</h3>
<ul>
<li>fix</li>
</ul>
<h2>v13.0.2</h2>
<p><em>2021-07-15</em></p>
<h3>Bugfixes</h3>
<ul>
<li>fix</li>
</ul>
<h2>v13.0.1</h2>
<p><em>2021-07-15</em></p>
<h3>Updates</h3>
<ul>
<li>docs: Document how to get Node.js exports resolution (<a href="https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve/issues/884">#884</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rollup/plugins/commit/621fe9d50c8ddec3c1f8f0dd8aa5ba7c6b26ce45"><code>621fe9d</code></a> chore(release): node-resolve v13.0.4</li>
<li><a href="https://github.com/rollup/plugins/commit/b393bcb6fe600e27a33b643a20340dc5669d1f85"><code>b393bcb</code></a> fix(node-resolve): Fix bug where JS import was converted to a TS import, resu...</li>
<li><a href="https://github.com/rollup/plugins/commit/f930e31f0253b675d6b6c1c17d9d544e123a081a"><code>f930e31</code></a> chore(release): node-resolve v13.0.3</li>
<li><a href="https://github.com/rollup/plugins/commit/1e2363c07b37ec671a570f0ac7e8522a61ee8c36"><code>1e2363c</code></a> fix(node-resolve): handle browser-mapped paths correctly in nested contexts (...</li>
<li><a href="https://github.com/rollup/plugins/commit/0a05d68a342593d875f89d00805ff340a65ff1dd"><code>0a05d68</code></a> chore(release): node-resolve v13.0.2</li>
<li><a href="https://github.com/rollup/plugins/commit/7d34204f06a9f7030c84281fabdc420cb5b76753"><code>7d34204</code></a> fix(node-resolve): handle &quot;package.json&quot; being in path (<a href="https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve/issues/927">#927</a>)</li>
<li><a href="https://github.com/rollup/plugins/commit/e32a9e97a4bb4242ae597fb08177bb320db1b595"><code>e32a9e9</code></a> chore(repo): update linting, prettier configuration</li>
<li><a href="https://github.com/rollup/plugins/commit/8205497215e43cfbacf071114042c4ec04085881"><code>8205497</code></a> chore(repo): automatically publish packages (<a href="https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve/issues/940">#940</a>)</li>
<li><a href="https://github.com/rollup/plugins/commit/2abb3265be6c9e31c2a336997ef3b5dfab963b44"><code>2abb326</code></a> chore(release): node-resolve v13.0.1</li>
<li><a href="https://github.com/rollup/plugins/commit/f49261b54d4ad380d8b9ce60ceea03a10cc9face"><code>f49261b</code></a> docs(node-resolve): Document how to get Node.js exports resolution (<a href="https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve/issues/884">#884</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rollup/plugins/commits/node-resolve-v13.0.4/packages/node-resolve">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=`@rollup/plugin-node-resolve&package-manager=npm_and_yarn&previous-version=13.0.0&new-version=13.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)`

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

992: Changes related to the next MeiliSearch release (v0.22.0) r=bidoubiwa a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-python that referenced this issue Sep 13, 2021
318: Changes related to the next MeiliSearch release (v0.22.0) r=alallema a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: alallema <amelie@meilisearch.com>
Co-authored-by: Amélie <alallema@users.noreply.github.com>
bors bot added a commit to meilisearch/meilisearch-swift that referenced this issue Sep 13, 2021
181: Changes related to the next MeiliSearch release (v0.22.0) r=bidoubiwa a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Charlotte Vermandel <charlottevermandel@gmail.com>
Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-go that referenced this issue Sep 13, 2021
192: Changes related to the next MeiliSearch release (v0.22.0) r=alallema a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._

- [x] New settings: sortableAttributes + Tests
- [x] New search parameter: sort + Tests
- [x] New sort ranking rules
- [x] Update `code_samples`

Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: alallema <amelie@meilisearch.com>
Co-authored-by: Amélie <alallema@users.noreply.github.com>
bors bot added a commit to meilisearch/meilisearch-php that referenced this issue Sep 13, 2021
200: Changes related to the next MeiliSearch release (v0.22.0) r=alallema a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._

- [x] New settings: sortableAttributes + Tests
- [x] New search parameter: sort + Tests
- [x] New sort ranking rules
- [x] Update `code_samples`

Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Amélie <alallema@users.noreply.github.com>
Co-authored-by: alallema <amelie@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-swift that referenced this issue Sep 13, 2021
181: Changes related to the next MeiliSearch release (v0.22.0) r=bidoubiwa a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._


Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Charlotte Vermandel <charlottevermandel@gmail.com>
Co-authored-by: cvermand <33010418+bidoubiwa@users.noreply.github.com>
Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-php that referenced this issue Sep 13, 2021
200: Changes related to the next MeiliSearch release (v0.22.0) r=alallema a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._

- [x] New settings: sortableAttributes + Tests
- [x] New search parameter: sort + Tests
- [x] New sort ranking rules
- [x] Update `code_samples`

Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: Amélie <alallema@users.noreply.github.com>
Co-authored-by: alallema <amelie@meilisearch.com>
bors bot added a commit to meilisearch/meilisearch-java that referenced this issue Sep 13, 2021
204: Changes related to the next MeiliSearch release (v0.22.0) r=alallema a=meili-bot

Related to this issue: meilisearch/integration-guides#139

This PR:
- gathers the changes related to the next MeiliSearch release (v0.22.0) so that this package is ready when the official release is out.
- should pass the tests against the [latest pre-release of MeiliSearch](https://github.com/meilisearch/MeiliSearch/releases).
- might eventually contain test failures until the MeiliSearch v0.22.0 is out.

⚠️ This PR should NOT be merged until the next release of MeiliSearch (v0.22.0) is out.

_This PR is auto-generated for the [pre-release week](https://github.com/meilisearch/integration-guides/blob/master/guides/pre-release-week.md) purpose._

- [x] New settings: sortableAttributes + Tests
- [x] New search parameter: sort + Tests
- [x] New sort ranking rules

Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
Co-authored-by: alallema <amelie@meilisearch.com>
Co-authored-by: Amélie <alallema@users.noreply.github.com>
@curquiza
Copy link
Member Author

The whole work has been done! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants