Kenn
12/12/2024, 5:04 PMcollections/shows/search/?q=*&include_fields=$performances(city)&query_by=title
Jason Bosco
12/12/2024, 5:14 PMKenn
12/12/2024, 10:44 PM**show schema
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "title",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
**performance schema
{
"async_reference": false,
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "show",
"optional": false,
"reference": "shows.title",
"sort": false,
"stem": false,
"store": true,
"type": "string"
}
Kenn
12/12/2024, 11:02 PM/collections/shows/documents/search/?q=*&include_fields=$performances(city)&query_by=title
Kenn
12/13/2024, 9:18 AMHarpreet Sangar
12/13/2024, 10:16 AMfilter_by
. So adding filter_by=$performances(id:*)
should help.Kenn
12/13/2024, 11:07 AMHarpreet Sangar
12/13/2024, 11:07 AMKenn
12/13/2024, 11:08 AM/collections/shows/documents/?q=*&filter_by=$performances(id:=0)&include_fields=$performances(city)
Harpreet Sangar
12/13/2024, 11:11 AMsearch
/collections/shows/documents/search?q=*&filter_by=$performances(id:=0)&include_fields=$performances(city)
Kenn
12/13/2024, 11:13 AMmessage": "Failed to join on performances: No reference field found.
Fanis Tharropoulos
12/13/2024, 11:14 AMHarpreet Sangar
12/13/2024, 11:14 AMHarpreet Sangar
12/13/2024, 11:15 AMperformance
?
Copy code**performance schema
Kenn
12/13/2024, 11:15 AM{
"created_at": 1734025298,
"default_sorting_field": "",
"enable_nested_fields": true,
"fields": [
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "audio",
"optional": false,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "buyTickets",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "object"
},
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "captioned",
"optional": false,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "embargoDate",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "firstPerformanceDate",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "forcePostponedOrCanceled",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "genres",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "onSaleDates",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "object"
},
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "relaxed",
"optional": false,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "showCardImage",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "signed",
"optional": false,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "slug",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "subTitle",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "title",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "umbracoSlug",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "venue",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "object"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "venue.slug",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "onSaleDates.onSaleDate",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "venue.name",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "onSaleDates.onSaleType",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "onSaleDates.hideDateAndTime",
"optional": true,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "buyTickets.url",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "onSaleDates.description",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "buyTickets.label",
"optional": true,
"sort": false,
"stem": false,
"store": true,
"type": "string"
}
],
"name": "shows",
"num_documents": 4,
"symbols_to_index": [],
"token_separators": [
">"
]
}
{
"created_at": 1734010393,
"default_sorting_field": "",
"enable_nested_fields": false,
"fields": [
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "city",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "doorsOpen",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "isSoldOut",
"optional": false,
"sort": true,
"stem": false,
"store": true,
"type": "bool"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "pricingDescription",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "salesPeriod",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"async_reference": false,
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "show",
"optional": false,
"reference": "shows.title",
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "startTime",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "venue",
"optional": false,
"sort": false,
"stem": false,
"store": true,
"type": "string"
}
],
"name": "performances",
"num_documents": 2,
"symbols_to_index": [],
"token_separators": []
}
Harpreet Sangar
12/13/2024, 11:19 AMHarpreet Sangar
12/13/2024, 11:20 AMKenn
12/13/2024, 11:24 AMKenn
12/13/2024, 11:25 AMHarpreet Sangar
12/13/2024, 11:28 AMquerying the collection with the reference field, i don't need itUnless you do want to filter the results based on some condition then you can specify
filter_by
as well.Kenn
12/13/2024, 11:51 AMfilter_by = genres:[comedy] $performances(id:*)
Harpreet Sangar
12/13/2024, 11:53 AM&&
And ||
Or based on your requirement for adding multiple conditions.
https://typesense.org/docs/27.1/api/search.html#filter-parameters