typesense / typesense/typesense

"filter_by" query returning non-matching results

Open
#2,205 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
26.6k
Forks
973
Avg merge
18h 45m
Merged PRs (30d)
4

Description

I'm doing a basic request on a field:

{
  "q": "*",
  "filter_by": "option_section:=`140 x 140 mm`",
  "page": 1,
  "per_page": 10,
  "exhaustive_search": false
}

But the results don't match the request (see file attached with the first page of results).
It does work for some other section values.

export.json

After some tests, it seems that the exact term search (with "`") doesn't work as expected.
If I change the "option_section" value with "140 x 141 mm" and re-launch a request, the proper documents are found.

Typesense version

  • Tried on v28.0 and v27.1
  • Tried on a freshly new created collection on v28.0 and an old on with v27.1 and v28.0
  • Collection (the name differs from the results but it is the same collection that I recreated) : product.json

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the request from the issue using the attached product.json collection data and compare the results with export.json. Investigate exact-term filtering for option_section values containing "140 x 140 mm" and verify that the completed fix returns only documents matching that value.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
search
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.