Elasticsearchi ametlik vaikimisi sõnasegmenteerimise plugin ei ole hiina sõnade segmenteerimiseks ideaalne. Näiteks võtan nüüd konkreetse näite, et näidata, miks ES-i ametliku veebilehe poolt pakutav sõnasegmentatsiooni plugin ei ole hiina sõnade segmentimiseks tõhus. Viitedokumentatsioon:
https://www.elastic.co/guide/en/ ... ting_analyzers.html
https://www.elastic.co/guide/en/ ... ndices-analyze.html
Esitame analüüsiliidesele andmetüki järgmiselt:
http://ip:9200/_analyze POST请求
Kui kasutad Elasticsearchi otse, tekivad Hiina sisu otsingutel kindlasti piinlikud probleemid.Hiina sõnad jagatakse ükshaaval hiina märkideksKui kasutad Kibanat joonistamiseks, grupeeri termini järgi ja selle tulemusena jagatakse hiina märk grupiks.
Õnneks on medcl (üks esimesi inimesi, kes Hiinas ES-i uuris) kirjutanud kaks hiina sõnade segmenteerimise pluginat: üks on ik ja teine mmseg, ning järgmine tutvustab ainult ik-i kasutust.
IK Analysis plugin integreerib Lucene IK analüsaatori elasticsearchi ja toetab kohandatud sõnastikke.
elasticsearch-analysis-ik projekti aadress:https://github.com/medcl/elasticsearch-analysis-ik
Install elasticsearch-analysis-ik
Esiteks, peata Elasticsearch jooksmas, JPS leiab protsessi ID ja lõpeta see kill -9 protsessi ID-ga! (Ma ei testinud seda niikuinii, on turvalisem peatuda ja paigaldada)
Paigalda elasticsearch-plugina abil (toetatud alates versioonist v5.5.1):
Märkus: Asenda versioon 6.3.0 oma elasticsearchi versiooniga
Paigaldasin selle oma serverisseElasticsearch on 6.5.2versioon, seega on käsk järgmine:
Paigaldusviga on järgmine:
Erand lõimes "main" java.nio.file.FileSystemException: /usr/local/elasticsearch-6.5.2/config/analysis-ik: Operatsioon ei ole lubatud
Elasticsearch paigaldusplugina tuleb käivitada root-failinaSeega kasutame su rooti, et lülituda administraatori staatusele, teha paigaldus uuesti ja see õnnestub, nagu alloleval joonisel näidatud:
Testime, esitades postituse taotluse uuesti liidesesse, ja postituse sisu on järgmine:
Leidsin, et suudan meie semantikat normaalselt mõista ja jagasin "arhitekt", "ilus" ja "arhitektuur" üheks sõnaks.
Mis on ik_max_word ja ik_smart vahel?
ik_max_word: Tekst jagatakse kõige peenemateks detailideks, näiteks "Hiina Rahvavabariigi hümn" jagatakse "Hiina Rahvavabariik, Hiina Rahvas, Hiina, Hiina, Rahvavabariik, Rahvas, Rahvas, Rahvas, Vabariik, Vabariik, Tema, Hümn", ning kasutab kõiki võimalikke kombinatsioone;
ik_smart: See teeb kõige jämedamat jaotust, näiteks jagab "Hiina Rahvavabariigi hümni" "Hiina Rahvavabariigi hümniks".
|