Guia de Uso do pg_jieba
pg_jieba
é um módulo de extensão de terceiros para PostgreSQL, baseado na biblioteca Jieba de segmentação de texto, especificamente projetado para busca de texto completo em chinês. Ele pode segmentar eficientemente textos em chinês, suportando assim a funcionalidade de busca completa. Este artigo detalha como instalar e usar pg_jieba
no ServBay.
Instalando o pg_jieba
O ServBay já vem com o módulo de extensão pg_jieba
, você apenas precisa habilitá-lo no banco de dados. Aqui estão os passos para habilitar o pg_jieba
:
Conectar ao banco de dados PostgreSQL:
bashpsql -U your_username -d your_database
1Criar a extensão:
sqlCREATE EXTENSION pg_jieba;
1Verificar a instalação:
sql\dx
1
Configurando o pg_jieba
Depois de habilitar o pg_jieba
, você precisa fazer algumas configurações para que ele possa realizar a segmentação de texto chinês corretamente e buscar textos completos.
Configurar a Configuração de Busca de Texto
Criar uma configuração de busca de texto:
sqlCREATE TEXT SEARCH CONFIGURATION chinese (PARSER = pg_jieba);
1Adicionar dicionário:
sqlALTER TEXT SEARCH CONFIGURATION chinese ADD MAPPING FOR n,v,a,i,e,l WITH simple;
1
Usando o pg_jieba para Busca de Texto Completo
Aqui está um exemplo mostrando como usar pg_jieba
para busca de texto completo.
Criar tabela de exemplo e dados
Criar tabela:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT );
1
2
3
4Inserir dados de exemplo:
sqlINSERT INTO documents (content) VALUES ('我爱自然语言处理'), ('中文分词是文本处理的重要步骤'), ('pg_jieba是一个很好的中文分词工具');
1
2
3
4
Criar índice de busca completa
- Criar índice GIN:sql
CREATE INDEX idx_gin_content ON documents USING gin (to_tsvector('chinese', content));
1
Executar a busca completa
Executar consulta de busca:
sqlSELECT * FROM documents WHERE to_tsvector('chinese', content) @@ to_tsquery('chinese', '中文 & 分词');
1
2Essa consulta retornará os documentos que contêm as palavras "中文" e "分词".
Dicionário Personalizado
Você pode personalizar o dicionário do pg_jieba
para melhor atender às necessidades de aplicações específicas.
Adicionar Vocabulário Personalizado
Criar arquivo de dicionário personalizado:
plaintext/Applications/ServBay/etc/scws/custom_dict.txt
1Adicionar vocabulário no arquivo, uma palavra por linha:
plaintext自然语言处理 中文分词
1
2Configurar o
pg_jieba
para usar o dicionário personalizado:sqlSET pg_jieba.dict_path = '/Applications/ServBay/etc/scws/custom_dict.txt';
1
Recarregar o Dicionário
- Recarregar o dicionário:sql
SELECT jieba_reload_dict();
1
Resumo
pg_jieba
é uma poderosa ferramenta de segmentação de texto chinês que, com configurações e uso simples, permite realizar buscas de texto completo eficientes no PostgreSQL. O ServBay já inclui o módulo de extensão pg_jieba
, bastando seguir os passos deste artigo para instalar e configurar. Por meio de dicionários personalizados, você pode ainda otimizar os resultados de segmentação para atender necessidades específicas de aplicativos.