typesense / typesense

Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences

Home Page:https://typesense.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

using typesense rails and typesense 0.25.1 but still having missing fields due to nil values when indexing

weiklr opened this issue · comments

Description

This is similar to the issue found in #824 (comment).

We are on ruby on rails, and running typesense rails gem (adaptation version), and our staging / prod clusters are on typesense 0.25.1

Steps to reproduce

We have a required_proof_purchase (boolean type) that's missing for other data rows as they aren't populated by the user. (i.e. they are nil values)

the schema attribute:
Screenshot 2024-02-29 at 4 50 04 PM

missing required_proof_of_purchase in data:
Screenshot 2024-02-29 at 4 49 32 PM

required_proof_of_purchase appears if data has the value:
Screenshot 2024-02-29 at 4 49 19 PM

Expected Behavior

required_proof_purchase is missing for data rows with nil values.

Actual Behavior

required_proof_purchase field should not be missing for data rows

Typesense Version: 0.25.1

curl to reproduce problem:
curl 'https://cloud.typesense.org/clusters/gb5td8ax4yj37wkhp/api/multi_search'
-H 'authority: cloud.typesense.org'
-H 'accept: application/json, text/plain, /'
-H 'accept-language: en-GB,en-US;q=0.9,en;q=0.8'
-H 'cache-control: no-cache'
-H 'content-type: application/json'
-H 'cookie: __stripe_mid=d4c5c41a-28af-4c9f-acf6-5d0d04466c2b2a8062; __stripe_sid=e71977e2-1198-4a38-af04-ee694d870486af7e6b; _typesense_cloud_app_session=AU76J5ByIOgrA%2BrGJWJCRpVGYI4EAhIr8sDFNmtBL7eRgwgC16gKF%2BycZw%2BgCnq5mC6Zs%2FspRdsAdKi0MDDEqWT4DTpG9i8NmcDkq2%2Fmgx6tSHBOXhCNgog8qd1CY4yDRpPt8Nb2ORd7TFx3R5IA35gB80sbZQLd8udFW8lx%2FocJPTp0Wpyy8M5jX8eltDhORkc9OzHqY8VjbG9l2GGJ7CnCspmcV5VRcghUyxfETmSeVfl69LcikkU9II0lzcz6Cophod20%2FeymF805NcdST%2B%2F2ImnYfezsjzdI4rmWsn6RXe9NkwZz5hf1ML2WLqCVSl2MZ6CuVMVBkBH5t34oujYPkBJ4tZhsIitVJvlqyeI51jHulTlJT0XRUkkMH7NxfvCyunmsLThXA6QmaEoNbX4HeKBEab07nyJUP6FT1BpnMKc3q0HZWkiwmuHUioOA3Gd8M61IgnOv33DJ%2FZ0Vul9XAr6swtHXxie%2F%2B7IV%2BYgL%2FBEaGAyDb4kQJd5eK92jek1juBWjFGnhWur2gFYv2ZDsFsC1ogjNMKQseEle9NEuHXnKgOb%2BrjCEjXvSd3jNbSZzX%2FWg1q99Ugian1LKER2yTfA62ZeDQUGFtierTxqQsXBlBwtOU9%2FPYqyK0L5W7V4dDmuRLE7zQLzOF9cxCZtv%2BHFN6cQDyhAZ%2BX3CYDozi6xNrJ6BANq7C7qS2u0DuIhe3k4BqBbVnYNeEr%2FvwyL81h329nRsYhihVqVBQnyGbUVMcneHYIMyfWYGra5b--bZmnVJYq21jb5%2FXc--a4ucR84wqpSWrY%2FW7YK6eQ%3D%3D'
-H 'origin: https://cloud.typesense.org'
-H 'pragma: no-cache'
-H 'referer: https://cloud.typesense.org/clusters/gb5td8ax4yj37wkhp/collections/Joshua_ClaimPolicy_1709194929/documents/search'
-H 'sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"'
-H 'sec-ch-ua-mobile: ?0'
-H 'sec-ch-ua-platform: "macOS"'
-H 'sec-fetch-dest: empty'
-H 'sec-fetch-mode: cors'
-H 'sec-fetch-site: same-origin'
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'
-H 'x-csrf-token: jJlrlifNpL0tk6o6P5fXNWKh9wCDDymIF6Uk0B_FewH04FWmlnXMXLLi4uLJWXuG66FOyLUxKi0vBM4tUZv87Q'
-H 'x-typesense-api-key: p06wyixmuhsgbr4qd19clve8z37o2ktf'
--data-raw '{"searches":[{"collection":"Joshua_ClaimPolicy_1709194929","q":"*","per_page":1,"search_cutoff_ms":2000}]}'