Configurando e Usando o Typesense no ServBay
O Typesense é um motor de busca em memória, open source, leve e extremamente rápido, projetado para fornecer uma experiência de busca instantânea (“search-as-you-type”) com baixíssima latência. Ele é frequentemente considerado uma alternativa mais leve ao Algolia ou Elasticsearch. Com o ServBay, você pode facilmente implantar e gerenciar uma instância completa do Typesense no seu ambiente local do macOS, adicionando funcionalidades de busca poderosas às suas aplicações.
Visão Geral
O ServBay simplifica drasticamente o processo de instalação e configuração do Typesense. Você pode realizar todas as configurações necessárias por meio da interface gráfica do ServBay, sem precisar recorrer a comandos complexos de terminal, e obter um serviço de busca pronto para uso localmente.
Para tornar a experiência do desenvolvedor ainda mais fluida, o ServBay configura automaticamente um endpoint HTTPS seguro e fácil de acessar para sua instância Typesense: https://typesense.servbay.host/
. Assim, você não precisa se preocupar com mapeamento de portas nem com certificados SSL — basta utilizar esse domínio nas chamadas à API diretamente do seu aplicativo.
Pré-requisitos
- O ServBay já deve estar instalado e em execução no seu macOS.
- Você está desenvolvendo um projeto que requer integração com uma funcionalidade de busca.
- Você tem noções básicas sobre conceitos de motores de busca (como coleção/index, documento, chave de API).
Passo a Passo
1. Instalando o pacote Typesense
Primeiro, instale o pacote Typesense no ServBay:
- Abra o aplicativo ServBay.
- No menu lateral, clique em Pacotes (Packages).
- Na lista, localize
Busca
-Typesense
. - Clique no botão de instalação à direita do
Typesense
e aguarde a conclusão do processo. - Clique no botão ao lado para ativar o serviço
Typesense
.
2. Configurando o serviço Typesense
Após instalar, é necessário realizar as configurações básicas do Typesense:
No menu lateral do ServBay, clique em Busca (Search).
No menu suspenso, selecione Typesense para acessar a tela de configuração.
Você verá as opções a seguir, que podem ser ajustadas conforme sua necessidade ou mantidas com os valores padrão:
- Bind IP (Endereço IP): IP que o serviço Typesense irá escutar. O padrão
127.0.0.1
garante acesso exclusivamente local — a opção mais segura para desenvolvimento. - Porta: Porta de comunicação da API Typesense. O padrão é
8108
. Mesmo que o serviço rode nessa porta, recomendamos fortemente o uso do domínio fornecido pelo ServBay:https://typesense.servbay.host
. - API Key (Chave de API): Chave para autenticação de todas as requisições à API. É fundamental para a segurança dos seus dados de busca. Use uma chave forte, única e guarde com segurança.
- Data Path (Pasta de Dados): Caminho onde o Typesense armazena dados e configurações localmente. O caminho padrão é
/Applications/ServBay/data/typesense
. Para localizar essa pasta rapidamente no Finder, clique no ícone de pasta à direita.
- Bind IP (Endereço IP): IP que o serviço Typesense irá escutar. O padrão
3. Salvando a configuração e iniciando o serviço
- Após ajustar as configurações, clique no botão Salvar (Save) no canto inferior direito.
- Em seguida, retorne à seção Pacotes (Packages), encontre o
Typesense
e ative o serviço clicando no botão lateral. - Se tudo estiver correto, o indicador de status ficará verde, indicando que o Typesense está rodando com sucesso.
4. Integrando o Typesense no seu aplicativo
Seu aplicativo (seja JavaScript, PHP, Python, Go, etc.) pode conectar-se à instância Typesense do ServBay usando qualquer biblioteca oficial ou de comunidade do Typesense.
Durante a conexão, utilize as seguintes informações do endpoint fornecidas pelo ServBay:
- Host/Node (Host/Nó):
typesense.servbay.host
- Porta:
443
(padrão para HTTPS) - Protocolo:
https
- API Key: A chave definida na etapa 2.
Exemplo de código JavaScript (com o cliente typesense-js
)
Primeiro, instale o cliente oficial do Typesense em seu projeto:
bash
npm install typesense
# ou
yarn add typesense
1
2
3
2
3
Depois, inicialize o cliente e interaja com a API no seu código:
javascript
import Typesense from 'typesense'
// Inicializando o cliente Typesense
// Observe que usamos o domínio customizado e protocolo seguro disponibilizados pelo ServBay
const client = new Typesense.Client({
nodes: [{
host: 'typesense.servbay.host',
port: 443,
protocol: 'https'
}],
apiKey: 'YOUR-SUPER-STRONG-API-KEY', // Substitua pela sua API Key definida no ServBay
connectionTimeoutSeconds: 2
})
// Exemplo: Criando uma coleção chamada 'books'
const bookSchema = {
name: 'books',
fields: [
{ name: 'title', type: 'string' },
{ name: 'author', type: 'string', facet: true },
{ name: 'publication_year', type: 'int32', facet: true }
],
default_sorting_field: 'publication_year'
}
async function setupTypesense() {
try {
// Criando a coleção
await client.collections().create(bookSchema);
console.log("Coleção 'books' criada com sucesso.");
// Adicionando um documento de livro
const bookDocument = {
'title': 'The Hitchhiker\'s Guide to the Galaxy',
'author': 'Douglas Adams',
'publication_year': 1979
};
await client.collections('books').documents().create(bookDocument);
console.log("Documento adicionado com sucesso.");
// Realizando uma busca
const searchParameters = {
'q': 'hitchhiker',
'query_by': 'title',
'sort_by': 'publication_year:desc'
};
const searchResults = await client.collections('books').documents().search(searchParameters);
console.log('Resultados da busca:', searchResults);
} catch (error) {
console.error('Erro no Typesense:', error);
}
}
setupTypesense();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Perguntas Frequentes (FAQ)
- Q: Esqueci minha API Key, como posso redefini-la?
- A: É simples redefinir no ServBay. Na tela de configuração do Typesense (
Busca
->Typesense
), basta digitar uma nova chave no campoAPI Key
, clicar em Salvar (Save) e depois reinicie o serviço Typesense.
- A: É simples redefinir no ServBay. Na tela de configuração do Typesense (
- Q: O serviço Typesense não inicia, e agora?
- A: Verifique os pontos abaixo:
- Clique no ícone de logs no canto superior direito da interface de configuração do Typesense para visualizar mensagens de erro detalhadas — normalmente dão as pistas mais diretas.
- Confirme se a porta
8108
não está sendo usada por outro aplicativo no seu computador. - Verifique se o diretório especificado em
Data Path
existe e se o ServBay tem permissão de leitura e gravação nele.
- A: Verifique os pontos abaixo:
- Q: Posso acessar a API diretamente em
http://127.0.0.1:8108
?- A: Sim, este endpoint está acessível localmente. Porém, recomendamos fortemente que use
https://typesense.servbay.host/
, pois oferece criptografia HTTPS sem configuração extra. Isso se aproxima mais ao ambiente de produção e é bem mais seguro.
- A: Sim, este endpoint está acessível localmente. Porém, recomendamos fortemente que use
Conclusão
O ServBay integra poderosamente o motor de busca Typesense ao seu fluxo de desenvolvimento local no macOS. Com configuração gráfica simplificada e endpoint HTTPS seguro pronto para uso, você pode focar em construir experiências de busca incríveis em vez de perder tempo com infraestrutura e manutenção.