esboço
A, palavra ansj elasticsearch6 Introdução
Dois, palavra ansj elasticsearch6 instalado
Três, configuração palavra ansj elasticsearch6
Quatro, uso palavra ansj elasticsearch6
V. Resumo
Introduzir um ansj
nsj_seg tokenizer pessoalmente acho que é uma palavra de código aberto é o mais abundante dos recursos mais poderosos. algoritmo de segmentação ansj_seg baseado em ictclas inteligentes Academia Chinesa de Ciências e eficiente. Embora já seja ictclas de java versão, mas ansj_seg de usá-lo para alcançar muito mais poderoso, uma série de pequenos detalhes e características são considerados no índice e análise de linguagem natural tem um desempenho muito bom. ansj_seg como ictclas representantes da palavra algoritmo implementado.
palavra ansj de plug explicação
ansj configuração antes versões es5.0 são configurados em elasticsearch.yml em
após es5.0 e versão, não suportam o caminho perfil, única forma de apoio conjunto api
palavra instalação pontos ansj plug-in
de download do plugin palavra
de GitHub web site de código aberto para baixar
https://github.com/NLPchina/elasticsearch-analysis-ansj/releases/download/v6.2.2/elasticsearch-analysis-ansj-6.2.2.0-release.zip
Dois palavra ansj instalado
palavra de configuração do widget Passo
1 pacote zip baixado, copiado para es_home / plugins
2 o extrato zip para o diretório atual
Es-ansj antes de 3 pacote zip serão apagados.
4 Reiniciar ES (palavra de modo a configuração de carga, de modo que a capacidade da palavra, ainda não foi activada neste momento e uso)
configuração palavra de três ansj
es API fornecida por meio de plug-in palavra ansj configuração
1, primeiro desligue o serviço de indexação (configuração palavra não suporta configuração dinâmica, deve desligar o serviço de indexação pode ser definido somente após palavra)
onda -XPOST '127.0.0.1:9200/_all/_close'
2 modo palavra fornecidos
onda -XPUT 'http://127.0.0.1:9200/_all/_settings?preserve_existing=true' H 'o Tipo-o conteúdo: aplicação arquivo / JSON' -d '{
"index.analysis.analyzer.default. do tipo ":" index_ansj",
'index.analysis.analyzer.default_search.type ':' query_ansj'
} '
descrição 4 palavra do método,
a palavra índice
tanto quanto possível separar todos os resultados de segmentação, tentar melhorar a recordação
Lembre
definição oficial: os resultados da pesquisa corretos entrada conteúdo representaram documento todas as informações relevantes itens de conteúdo proporção
vernacular interpretação: deve ser procurado fora de algo, tanto quanto possível, ter sido procurado, que atingiu a taxa de acertos
palavra de pesquisa
deve ser palavra indexada é um subconjunto, tentar garantir a precisão de
5 a precisão da
definição oficial: a proporção de itens de conteúdo corretas nos resultados da pesquisa representaram procurar o item de conteúdo
vernacular interpretação: tentar assegurar que a procurar os itens de conteúdo, para melhor.
6 Abra o serviço de indexação, fornecer pesquisa externo normal
onda -XPOST '127.0.0.1:9200/_all/_open'
Após 7 palavra ansj plug-in de teste com sucesso instalado
pedido http web Interface Specification
/ _cat / ansj: executar palavra
/ _cat / ansj / config: Toda a configuração
/ _ansj / rubor / config: atualizar toda a configuração
/ _ansj / rubor dic /: Dicionário Atualizar tudo. Incluindo dicionários definidos pelo usuário, dicionário desativado, enciclopédia, dicionário ambigüidade, CRF
Web HTTP teste de interface pedido
http://127.0.0.1:9200/_cat/ansj?text= Changchun prefeito de expressão e tipo de Ano Novo = index_ansj
problemas encontrados
Índice de segmentação não é satisfatória, os pontos não detalhada o suficiente, ele irá afetar diretamente os resultados da pesquisa.
A principal razão : a versão open source de palavra es-ansj dispostos bug, não carregado completamente thesaurus causado.
Solução
um, baixe a última versão do ansj palavra, em seus arquivos de configuração mais atuais e sub-thesaurus
Baixar -1: https: //github.com/NLPchina/ansj_seg/releases, você pode encontrar a versão mais recente
Eu não sei por que, metade não mais abaixo. Você só precisa fazer o download do arquivo no git.
B, após a descompressão, que obter o diretório de biblioteca e arquivo ansj_library.properties
C, acima dos dois arquivos, copiados para o diretório raiz es_home
d, es reiniciar para ter efeito
web interface de pedido http re-testado, ainda no exemplo anterior como comparar, você pode obter o efeito desejado de indexação e busca da palavra.
Quatro utilização palavra ansj
ES-ansj plug-ins descrito
por uma cabeça de índice, e um novo tipo de estrutura de mapeamento, e para especificar a palavra relacionada campos definido
estrutura nativa
onda -XPUT http: // localhost: 9200 / teste -H 'Content-Type: aplicação / json' -d '{
"Configurações": {
"number_of_shards" :. 1,
"number_of_replicas": 0
},
"Mapeamentos": {
"estudante": {
"_all": { "habilitado": false},
"propriedades": {
"nome": { "type": "texto", "analisador": "index_ansj", "search_analyzer": "query_ansj"},
"classname": { "type": "texto", "analisador": "index_ansj", "search_analyzer": "query_ansj"},
"gênero": { "type": "text "}
}
}
}
}'
通过cabeça复合页面发送请求
{
"configurações":{
"Number_of_shards": 1,
"number_of_replicas": 0
},
"Mapeamentos": {
"estudante": {
"_all": { "habilitado": false},
"propriedades": {
"nome": { "type": "texto", "analisador": "index_ansj", "search_analyzer": "query_ansj"},
"classname": { "type": "texto", "analisador": "index_ansj", "search_analyzer": "query_ansj"},
"gênero": { "type": "text "}
}
}
}
}
通过cabeça向指定索引名称及其指定的digite一条数据新建
原生结构
onda -XPUT 'http: // localhost:9200 / Teste / estudante / 1 Bonita 'H' Content-Type :? O aplicativo / json '-d'
{
"nome": "Zhang Ziqiang"
"className": "Computer Technology tecnologia de classe 1",
"Sexo": " boys'
} '
Os pedidos são enviados através da página de cabeça composta
{
'nome': 'Zhangzi Jiang',
'classname': 'Tecnologia da Computação classe tecnologia 1',
'gênero': 'meninos'
}
// O primeiro 2
{
"nome": "John Doe",
"className": "Computer Technology tecnologia de classe 2",
"Sexo": "meninos"
}
// A primeira 3
{
"nome": "ZHANG MENGMENG",
" classname ":" software classe Engenharia 3",
"Sexo ":" meninas"
}
resumo de cinco
1 separador de palavras palavra
palavra segmentação é um Java implementação do componente palavra chinesa, oferece uma variedade de algoritmo de segmentação baseada em dicionário, e utilizando o modelo Ngram para eliminar a ambiguidade. Pode identificar com precisão letras, números e a data, a hora e outros quantificadores pode identificar nomes de lugares, nomes de organização e outra palavra desconhecida. Embora fornecendo plugue Lucene, Solr, ElasticSearch.
Pode se referir a:
- http://my.oschina.net/apdplat/blog/228615?p=1 dentro palavra por palavra muito detalhada Introdução
- home page da palavra palavra: https://github.com/ysc/word
Ansj 2
palavra ansj_seg é pessoalmente acho que é uma palavra de código aberto é o mais abundante dos recursos mais poderosos. algoritmo de segmentação ansj_seg baseado em ictclas inteligentes Academia Chinesa de Ciências e eficiente. Embora já seja ictclas do para a versão java, mas ansj_seg de usá-lo para alcançar muito mais poderoso, eo autor homegrown uso pessoal, um monte de pequenos detalhes e características são considerados, há na indexação e análise de linguagem natural excelente desempenho. palavra ansj_seg pode ser usado como um ictclas algoritmo implementado em nome das aparências.
Pode se referir a:
- palavra ansj home page https://github.com/NLPchina/ansj_seg
- ansj_seg chinês instância palavra http://www.blogchong.com/post/78.html
IKAnalyzer 3
IKAnalyzer usou o "algoritmo de segmentação mais positivo iterativo de grão fino", é mais comum e muito fácil de usar o separador de palavras. Novice lucene aprendizagem geral ou Solr vai usar isso. A vantagem é open source (de fato, java palavra é principalmente de código aberto, depois de todos os algoritmos são bem conhecidos na indústria), peso leve, a actual situação não é muito bug, o código fonte fácil de entender, fazer segundo desenvolvimento também é muito simples, mesmo em face Solr / Lucene atualização de versão, ligeiramente modificar sua própria classe pode ser alcançado em Geral. A desvantagem é que muito simples um idiota, simplesmente ser configurado de acordo com a palavra do léxico, não há inteligência em tudo, até mesmo o "kimono", "servidor e" este velho hastes não estão quebrados. IKanalyzer Existem dois tipos de segmentação.
ik_max_word: texto vai fazer a divisão mais de grão fino, vamos esgotar todas as combinações possíveis;
ik_smart: split vai fazer o máximo de granulação grossa.
IKanalyzer como a palavra mudo é aparência representante.
Pode se referir a:
- palavra Código IKanalyzer: http://git.oschina.net/wltea/IK-Analyzer-2012FF/tree/master
Mmseg4j. 4
mmseg4j com o algoritmo chinês MMSeg Chih-Hao Tsai segmenter implementado e analisador para alcançar o Solr Lucene de TokenizerFactory e facilitar o uso do Lucene e Solr. Existem dois métodos algoritmo de segmentação MMSeg: simples e complexos, são baseados na correspondência máxima para a frente. Complexas, mais as quatro regras extraviado.
Pode se referir a:
5 jcseg
jcseg uso palavra é mmseg algoritmo e os algoritmos do FMM, esta palavra é semelhante a muitos lugares ansj_seg,, humano, representantes experiência sensorial pessoais inteligentes para ser mais do que a divisão porta mmseg4j mesmo irmão, de modo tokenizer mmseg algoritmo de aparência .
Pode se referir a:
- Código jcseg: http://git.oschina.net/lionsoul/jcseg
Referências
https://blog.csdn.net/erliang20088/article/details/81627737
https://blog.csdn.net/liyantianmin/article/details/59485799
https://www.cnblogs.com/chenmc/p/9525163.html