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

[v1.3] Search in facet values facetSearch #401

Open
3 tasks
brunoocasali opened this issue Aug 8, 2023 · 0 comments
Open
3 tasks

[v1.3] Search in facet values facetSearch #401

brunoocasali opened this issue Aug 8, 2023 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@brunoocasali
Copy link
Member

⚠️ This issue is generated, it means the examples and the namings do not necessarily correspond to the language of this repository.
Also, if you are a maintainer, please add any clarification and instructions about this issue.

Sorry if this is already wholly/partially implemented. Feel free to let me know about the state of this issue in the repo.

Related to meilisearch/integration-guides#280


This issue is divided into two sections, first, you need to make the implementation, and second, you must update the code-samples (no one likes outdated docs, right?).

New implementation

Related to:

Users of bigger datasets could have difficulty interacting with vast lists of facets data since, until today, it was not possible to search on them.

To introduce this feature into the SDKs, we must:

Create a new method called facetSearch(facetSearchQuery)/facet_search(facetSearchQuery)
Besides all the other parameters that a regular SearchQuery can take. The new FacetSearchQuery can take a facetName, facetQuery, filter, q, matchingStrategy.

Params definition:

facetName:
  type: string
  required: true
  example: '"genres"'
facetQuery:
  type: string
  example: '"Horror"'
q:
  type: string
  default: '""'
  example: '"Back to the future"'
matchingStrategy:
  type: string
  default: 'last'
filter: // https://www.meilisearch.com/docs/learn/fine_tuning_results/filtering
  type: array
  example: '"groupId = 1 AND genre = adventure"'

Code samples

Inside of this file: .code-samples.meilisearch.yml:

  1. Create a new entry with this key facet_search_1 containing a call to the new facetSearch method.
    With this value:
     {
       "facetQuery": "fiction",
       "facetName": "genres",
       "filter": "rating > 3"
     }

Use this as a reference if the previous description was not helpful:

facet_search_1: |-
  POST 'http://localhost:7700/indexes/books/facet-search' 
  with data: { 
    "facetQuery": "fiction",
    "facetName": "genres",
    "filter": "rating > 3"
  }
  1. Add new code sample facet_search_3 with this content:
facet_search_3: |-
  POST 'http://localhost:7700/indexes/books/facet-search' 
  with data: { 
    "facetQuery": "c",
    "facetName": "genres"
  }

TODO:

  • Add the new method facetSearch
  • Update the code-samples accordingly
  • Add integration tests
@brunoocasali brunoocasali added good first issue Good for newcomers enhancement New feature or request labels Aug 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant