Typesense

src/Apis/typeSense.js

const Typesense = require('typesense')
const API = process.env.REACT_APP_TYPESENSE_API;

export let clientTypesense = new Typesense.Client({
  'nodes': [{
    'host': 'bynu8vp41sx3m0zwp-1.a1.typesense.net', // For Typesense Cloud use xxx.a1.typesense.net
    'port': '443',      // For Typesense Cloud use 443
    'protocol': 'https'   // For Typesense Cloud use https
  }],
  'apiKey': API,
  'connectionTimeoutSeconds': 2
})

use this functions on your jsx

check https://typesense.org/docs/0.20.0/api/documents.html#search for more docs


const handleSearchUsers = (q) => {
	const searchParameters = {
		q: q,
		query_by: "title",
		filter_by: `type: aissistant && createdBy:${globalState.uid} && companyId:${globalState.currentCompanies.id}`,
		sort_by: "_text_match:desc"
	};
	
	clientTypesense
		.collections("files")
		.documents()
		.search(searchParameters)
		.then((x) => {
			const hits = x.hits.map((x)=>x.document)
			setData(hits)
		})
		.catch((err)=>console.log(err.message))
}

Last updated

Was this helpful?