Guia de Uso do zhparser
zhparser
é um módulo de extensão de terceiros para PostgreSQL, projetado especificamente para lidar com texto em chinês. Ele oferece funções eficientes de segmentação e pesquisa, adequadas para diversos cenários de processamento de texto em chinês. ServBay vem com scws
(Segmentação de Palavras em Chinês Simples), e zhparser
pode usar scws
para criar um dicionário personalizado. Este documento detalha como instalar e usar zhparser
no ServBay.
Instalando zhparser
ServBay já inclui o módulo de extensão zhparser
, você só precisa habilitá-lo no banco de dados. Aqui estão os passos para habilitar zhparser
:
Conecte-se ao banco de dados PostgreSQL:
bashpsql -U your_username -d your_database
1Crie a extensão:
sqlCREATE EXTENSION zhparser;
1Verifique a instalação:
sql\dx
1
Configurando zhparser
Depois de habilitar zhparser
, você precisará realizar algumas configurações para que ele possa segmentar e fazer buscas de texto em chinês corretamente.
Configurar a Configuração de Pesquisa de Texto (Text Search Configuration)
Crie a configuração de pesquisa de texto:
sqlCREATE TEXT SEARCH CONFIGURATION chinese (PARSER = zhparser);
1Adicione o dicionário:
sqlALTER TEXT SEARCH CONFIGURATION chinese ADD MAPPING FOR n,v,a,i,e,l WITH simple;
1
Usando zhparser para Pesquisa de Texto Completo
Abaixo está um exemplo que mostra como usar zhparser
para pesquisa de texto completo.
Criar Tabela e Dados de Exemplo
Crie a tabela:
sqlCREATE TABLE documents ( id SERIAL PRIMARY KEY, content TEXT );
1
2
3
4Insira dados de exemplo:
sqlINSERT INTO documents (content) VALUES ('我爱自然语言处理'), ('中文分词是文本处理的重要步骤'), ('zhparser是一个很好的中文分词工具');
1
2
3
4
Criar Índice de Pesquisa Completa
- Crie o índice GIN:sql
CREATE INDEX idx_gin_content ON documents USING gin (to_tsvector('chinese', content));
1
Executar Pesquisa Completa
Execute a consulta de pesquisa:
sqlSELECT * FROM documents WHERE to_tsvector('chinese', content) @@ to_tsquery('chinese', '中文 & 分词');
1
2A consulta retornará os documentos que contêm as palavras "中文" e "分词".
Dicionário Personalizado
ServBay vem com scws
, você pode usar scws
para criar seu próprio dicionário personalizado para melhor atender às necessidades específicas de sua aplicação.
Adicionar Vocabulário Personalizado
Crie o arquivo de dicionário personalizado:
plaintext/Applications/ServBay/etc/scws/custom_dict.txt
1Adicione vocabulário ao arquivo, uma palavra por linha:
plaintext自然语言处理 中文分词
1
2Configure
zhparser
para usar o dicionário personalizado:sqlSET zhparser.dict_path = '/Applications/ServBay/etc/scws/custom_dict.txt';
1
Recarregar o Dicionário
- Recarregue o dicionário:sql
SELECT zhprs_reload_dict();
1
Ajustar o Modo de Segmentação
zhparser
suporta vários modos de segmentação, você pode ajustá-los conforme necessário.
Configurar o Modo de Segmentação
Configurar para a segmentação de menor granularidade:
sqlSET zhparser.seg_with_duality = true;
1Configurar para a segmentação de maior granularidade:
sqlSET zhparser.seg_with_duality = false;
1
Conclusão
zhparser
é uma poderosa ferramenta de segmentação de texto em chinês. Com configurações simples, você pode realizar buscas eficientes de texto completo em chinês no PostgreSQL. ServBay já vem com o módulo de extensão zhparser
e inclui scws
, permitindo que você crie um dicionário personalizado. Com um dicionário personalizado e ajustes no modo de segmentação, você pode otimizar ainda mais os resultados de segmentação para atender às necessidades específicas de sua aplicação.