Babin
03/13/2023, 7:53 PM{
"aliases": [
{
"collection_name": "items_1_031323",
"name": "items_1_alias"
},
{
"collection_name": "items_1",
"name": "test"
}
]
}
I have created 2nd alias on collection Items_1. Now in search query, when I pass collection name as test, it doesn't work. How do I use test
alias name in search, so that I don't need to change the front end configuration. Appreciate any helpJason Bosco
03/13/2023, 7:54 PMitems_1
?Babin
03/13/2023, 8:03 PMBabin
03/13/2023, 8:03 PMBabin
03/13/2023, 8:03 PMtest
as collectionName it doesn't workJason Bosco
03/13/2023, 8:04 PMJason Bosco
03/13/2023, 8:04 PMJason Bosco
03/13/2023, 8:05 PMBabin
03/13/2023, 8:05 PMBabin
03/13/2023, 8:05 PMBabin
03/13/2023, 8:06 PMBabin
03/13/2023, 8:06 PMJason Bosco
03/13/2023, 8:09 PMJason Bosco
03/13/2023, 8:09 PMBabin
03/13/2023, 8:24 PM{
"created_at": 1678739026,
"default_sorting_field": "num_employees",
"enable_nested_fields": false,
"fields": [
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "company_name",
"optional": false,
"sort": false,
"type": "string"
},
{
"facet": false,
"index": true,
"infix": false,
"locale": "",
"name": "num_employees",
"optional": false,
"sort": true,
"type": "int32"
},
{
"facet": true,
"index": true,
"infix": false,
"locale": "",
"name": "country",
"optional": false,
"sort": false,
"type": "string"
}
],
"name": "companies",
"num_documents": 0,
"symbols_to_index": [],
"token_separators": []
}
Babin
03/13/2023, 8:24 PM{
"success": true
}
Babin
03/13/2023, 8:24 PM{"success":true}{"results":[{"code":404,"error":"Could not find a field named `name` in the schema."}]}
Jason Bosco
03/13/2023, 8:25 PMBabin
03/13/2023, 8:44 PMsource .env
typeSenseApiKey=${TYPE_SENSE_API_MASTER_KEY}
typeSenseHost=${TYPE_SENSE_HOSTURL}
curl "${typeSenseHost}/collections" \
-X POST \
-H "Content-Type: application/json" \
-H "X-TYPESENSE-API-KEY: ${typeSenseApiKey}" \
-d '{
"name": "companies",
"fields": [
{"name": "company_name", "type": "string" },
{"name": "num_employees", "type": "int32" },
{"name": "country", "type": "string", "facet": true }
],
"default_sorting_field": "num_employees"
}'
curl "${typeSenseHost}/collections/companies/documents/import?action=create" \
-H "X-TYPESENSE-API-KEY: ${typeSenseApiKey}" \
-H "Content-Type: text/plain" \
-X POST \
-d '{"id": "124","company_name": "Stark Industries","num_employees": 5215,"country": "USA"}
{"id": "125","company_name": "Acme Corp","num_employees": 2133,"country": "CA"}'
curl "${TYPE_SENSE_HOSTURL}/aliases/companies_alias" -X PUT \
-H "X-TYPESENSE-API-KEY: ${TYPE_SENSE_API_MASTER_KEY}" \
-H "Content-Type: application/json" \
-d "{\"collection_name\":\"companies\"}"
curl "${typeSenseHost}/multi_search?query_by=name" \
-X POST \
-H "Content-Type: application/json" \
-H "X-TYPESENSE-API-KEY: ${typeSenseApiKey}" \
-d '{
"searches": [
{
"collection": "companies_alias",
"q": "stark"
}
]
}'
Babin
03/13/2023, 8:44 PMBabin
03/13/2023, 8:45 PM{
"aliases": [
{
"collection_name": "items_1",
"name": "test"
},
{
"collection_name": "companies",
"name": "companies_alias"
}
]
}
Jason Bosco
03/13/2023, 8:46 PMBabin
03/13/2023, 8:48 PM{"created_at":1678740196,"default_sorting_field":"num_employees","enable_nested_fields":false,"fields":[{"facet":false,"index":true,"infix":false,"locale":"","name":"company_name","optional":false,"sort":false,"type":"string"},{"facet":false,"index":true,"infix":false,"locale":"","name":"num_employees","optional":false,"sort":true,"type":"int32"},{"facet":true,"index":true,"infix":false,"locale":"","name":"country","optional":false,"sort":false,"type":"string"}],"name":"companies","num_documents":0,"symbols_to_index":[],"token_separators":[]}{"success":true}
{"success":true}{"collection_name":"companies","name":"companies_alias"}{"results":[{"code":404,"error":"Could not find a field named `name` in the schema."}]}
Jason Bosco
03/13/2023, 8:48 PMcurl "${typeSenseHost}/multi_search?query_by=company_name" \
-X POST \
-H "Content-Type: application/json" \
-H "X-TYPESENSE-API-KEY: ${typeSenseApiKey}" \
-d '{
"searches": [
{
"collection": "companies_alias",
"q": "stark",
}
]
}'
Jason Bosco
03/13/2023, 8:49 PMquery_by=name
to query_by=company_name
(the gist I shared with you had a typo in it)Babin
03/13/2023, 8:51 PM{
"results": [
{
"facet_counts": [],
"found": 1,
"hits": [
{
"document": {
"company_name": "Stark Industries",
"country": "USA",
"id": "124",
"num_employees": 5215
},
"highlight": {
"company_name": {
"matched_tokens": [
"Stark"
],
"snippet": "<mark>Stark</mark> Industries"
}
},
"highlights": [
{
"field": "company_name",
"matched_tokens": [
"Stark"
],
"snippet": "<mark>Stark</mark> Industries"
}
],
"text_match": 578730123365187700,
"text_match_info": {
"best_field_score": "1108091338752",
"best_field_weight": 15,
"fields_matched": 1,
"score": "578730123365187705",
"tokens_matched": 1
}
}
],
"out_of": 2,
"page": 1,
"request_params": {
"collection_name": "companies",
"per_page": 10,
"q": "stark"
},
"search_cutoff": false,
"search_time_ms": 0
}
]
}
Babin
03/13/2023, 8:51 PMJason Bosco
03/13/2023, 8:52 PMJason Bosco
03/13/2023, 8:52 PMBabin
03/13/2023, 8:52 PMBabin
03/13/2023, 8:52 PMtest
aliasJason Bosco
03/13/2023, 8:52 PMJason Bosco
03/13/2023, 8:53 PMBabin
03/13/2023, 8:54 PMBabin
03/13/2023, 8:54 PMJason Bosco
03/13/2023, 8:55 PMcurl "${typeSenseHost}/multi_search?query_by=company_name" \
-X POST \
-H "Content-Type: application/json" \
-H "X-TYPESENSE-API-KEY: ${typeSenseApiKey}" \
-d '{
"searches": [
{
"collection": "companies_alias",
"q": "stark",
}
]
}'
companies_alias
is the alias name right?Babin
03/13/2023, 8:55 PMBabin
03/13/2023, 8:55 PMBabin
03/13/2023, 9:02 PMBabin
03/13/2023, 9:02 PMBabin
03/13/2023, 9:13 PMJason Bosco
03/13/2023, 9:13 PM