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

Add indices array to matches position #1773

Merged

Conversation

Strift
Copy link
Collaborator

@Strift Strift commented Nov 27, 2024

Pull Request

Related issue

Fixes #1772

What does this PR do?

  • Updates the dataset used in tests so genre is an array
  • Updates the tests to still work after making genre an array
  • Uses the new genre array to test that _matchesPosition return the correct value when matching against arrays

@Strift Strift requested a review from mdubus November 27, 2024 05:07
@curquiza
Copy link
Member

@Strift
the tests Pre-Release Tests / integration-tests (Node.js 18) (pull_request) are red currently but should pass
Can you fix them before Morgane review you?

@Strift
Copy link
Collaborator Author

Strift commented Nov 27, 2024

Sorry about this, I'll take a look!

@Strift Strift marked this pull request as draft November 27, 2024 09:56
@Strift Strift removed the request for review from mdubus November 27, 2024 09:56
@Strift Strift marked this pull request as ready for review November 27, 2024 10:48
@Strift Strift requested a review from mdubus November 27, 2024 10:48
@Strift
Copy link
Collaborator Author

Strift commented Nov 27, 2024

Sorry for the delay, I fixed the tests. It's now ready for review 🙇

Copy link
Member

@mdubus mdubus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the feature is implemented correctly 🙌

However, all the changes in the movies dataset makes it hard to review. Next time can you make a separate PR if you need to improve it? I feel like like adding the author + converting the genre into an array could have been done separately, but correct me if I'm wrong 🤓

@curquiza
Copy link
Member

However, all the changes in the movies dataset makes it hard to review. Next time can you make a separate PR if you need to improve it? I feel like like adding the author + converting the genre into an array could have been done separately, but correct me if I'm wrong 🤓

Sorry, it's me, I always ask 1 PR per issue for v1.12 to make the changelog easier to create at the end when we do the release

@curquiza curquiza merged commit 5ac68c1 into bump-meilisearch-v0.12.0 Dec 3, 2024
6 checks passed
@curquiza curquiza deleted the feat/add-indices-to-matches-position branch December 3, 2024 09:18
@curquiza curquiza linked an issue Dec 3, 2024 that may be closed by this pull request
2 tasks
Strift added a commit that referenced this pull request Dec 4, 2024
* make 'genre' an array of genres

* Fix tests after making genre an array

* Fix search (post) tests after making genre an array

* Fix typed search tests after updating genre to an array

* Add indices in match positions

* prettier

* Move test before test deleting the index
@Strift Strift changed the title Add indices to matches position Add indices array to matches position Dec 11, 2024
meili-bors bot added a commit that referenced this pull request Dec 23, 2024
1797: Update version for the next release (v0.47.0) r=curquiza a=meili-bot

_This PR is auto-generated._

The automated script updates the version of meilisearch-js to a new version: "v0.47.0"

CHANGELOGS 👇

This version introduces features released on Meilisearch v1.12.0 🎉

Check out the [Meilisearch v1.12.0 changelog](https://github.com/meilisearch/meilisearch/releases/tag/v1.12.0) for more information.

## 🚀 Enhancements

- **Addition:** #1775 

Introducing new methods to get one or several batches, respectively `getBatch()` and `getBatches()`.

```ts
// fetch one batch using batch UID
const batch = await client.getBatch(123)

// fetch all batches
const batches = await client.getBatches()
```

- **Addition:** #1774 

The `getTasks()` methods now accept a `reverse` parameter to retrieve tasks in reverse chronological order.

```ts
const tasks = await client.getTasks({ reverse: true });
```

- **Addition:** #1790

Index settings now allow disabling **prefix search** and **facet search**. They're both enabled by default. The SDK now comes with dedicated methods to configure these settings.

```ts
// disable prefix search
await client.index('myIndex').updatePrefixSearch('disabled')
// reset prefix search settings
await client.index('myIndex').resetPrefixSearch()

// disable facet search
await client.index('myIndex').updateFacetSearch(false)
// reset facet search settings
await client.index('myIndex').resetFacetSearch()
```

- **Update:** #1773 

The `_matchesPosition` array now contains an `indices` array the text was matched in an array.

When searching for `fantasy` in a document that has a searchable `genre` field with the value `genre: ["fantasy", "adventure"]`, the matches position will be as follow: 

```ts
{
  genre: [{ start: 0, length: 7, indices: [0] }]
}
```

Which means:
- There was a single match in the `genre` array (array length == 1)
- The match started as position `0` (the first character, "f")
- The match has a length of `7` (the entire "fantasy" word)
- The match was in the first item of the array (indices == [0]) 

⚙️ Maintenance/misc

- Update CONTRIBUTING.md with minimal Node version (#1788) 

Thanks again to `@/irevoire,` `@/Barabasbalazs,` `@/irevoire,` `@/curquiza,` and `@/Strift.` 🎉

Co-authored-by: meili-bot <74670311+meili-bot@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

[v1.12.0] Add new indices in _matchesPosition
3 participants