elasticsearch默认开启两个端口:9200,用于ES节点和外部通讯;9300,用于ES节点之间通讯
报错: org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root ,不能以root用户的身份运行elasticsearch
解决方法:新建用户组和用户,并赋予其elasticsearch文件夹的权限
再次运行
WARN: java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed ,使用新的linux版本即可,不影响使用
启动失败,出现上面四个错误,一一解决
ERROR[1]:无法创建本地文件问题,用户最大可创建文件数太小
解决方法:切换到root用户,编辑limits.conf配置文件
ERROR[2]:无法创建本地线程问题,用户最大可创建线程数太小
解决方法:切换到root用户,进入limits.d目录下,修改90-nproc.conf 配置文件
ERROR[3]:最大虚拟内存太小
解决方法:切换到root用户下,修改配置文件sysctl.conf
ERROR[4]:这是在因为Centos6不支持SecComp,而ES5.2.0默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false
解决完成后,重新启动,启动成功
如果要在后台运行,使用 ./bin/elasticsearch -d 启动
访问 http://192.168.1.200:9200/,返回数据
现在启动elasticsearch,提示jar包冲突
现在启动elasticsearch,没有异常,我们测试一下hanlp分词插件有没有生效
访问: http://192.168.1.200:9200/_analyze?text=%E4%B8%AD%E5%9B%BD%E7%9A%84%E5%86%9B%E4%BA%8B%E5%AE%9E%E5%8A%9B%E4%B8%8E%E6%97%A5%E4%BF%B1%E5%A2%9E&analyzer=hanlp
elasticsearch报错并且退出运行
看上去是权限的问题,这就用到hanlp目录下的 plugin-security.policy 文件,修改 /elasticsearch/config/jvm.options 文件,在末尾添加
继续测试上面的链接,提示找不到hanlp.properties,hanlp无法加载词典,elasticsearch退出运行,解决方法:修改 /elasticsearch/bin/elasticsearch.in.sh 文件,将ES_CLASSPATH修改为:
继续测试上面的链接,访问成功,返回结果
可以看到分词效果比较好,而且停用词也被过滤了,大功告成!
以下分词工具均能在Python环境中直接调用(排名不分先后)。
1、jieba(结巴分词) 免费使用
2、HanLP(汉语言处理包) 免费使用
3、SnowNLP(中文的类库) 免费使用
4、FoolNLTK(中文处理工具包) 免费使用
5、Jiagu(甲骨NLP) 免费使用
6、pyltp(哈工大语言云) 商用需要付费
7、THULAC(清华中文词法分析工具包) 商用需要付费
8、NLPIR(汉语分词系统) 付费使用
1、jieba(结巴分词)
“结巴”中文分词:做最好的 Python 中文分词组件。
项目Github地址:jieba
安装 :
pip install jieba
使用 :
import jieba
jieba.initialize()
text = '化妆和服装'
words = jieba.cut(text)
words = list(words)
print(words)
2、HanLP(汉语言处理包)
HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。
项目Github地址:pyhanlp
安装:
pip install pyhanlp
使用 :
import pyhanlp
text = '化妆和服装'
words = []
for term in pyhanlp.HanLP.segment(text):
words.append(term.word)
print(words)
3、SnowNLP(中文的类库)
SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。
项目Github地址:snownlp
安装:
pip install snownlp
使用:
import snownlp
text = '化妆和服装'
words = snownlp.SnowNLP(text).words
print(words)
4、FoolNLTK(中文处理工具包)
可能不是最快的开源中文分词,但很可能是最准的开源中文分词。
项目Github地址:FoolNLTK
安装:
pip install foolnltk
使用:
import fool
text = '化妆和服装'
words = fool.cut(text)
print(words)
5、Jiagu(甲骨NLP)
基于BiLSTM模型,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、关键词抽取、文本摘要、新词发现等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。
项目Github地址:jiagu
安装:
pip3 install jiagu
使用:
import jiagu
jiagu.init()
text = '化妆和服装'
words = jiagu.seg(text)
print(words)
6、pyltp(哈工大语言云)
pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。
项目Github地址:pyltp,3.4模型下载链接:网盘
安装:
pip install pyltp
使用:
import pyltp
segmentor = pyltp.Segmentor()
segmentor.load('model/ltp_data_v3.4.0/cws.model') # 模型放置的路径
text = '化妆和服装'
words = segmentor.segment(text)
words = list(words)
print(words)
7、THULAC(清华中文词法分析工具包)
THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与 社会 人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。
项目Github地址:THULAC-Python
安装:
pip install thulac
使用:
import thulac
thu = thulac.thulac(seg_only=True)
text = '化妆和服装'
words = thu.cut(text, text=True).split()
print(words)
NLPIR(汉语分词系统)
主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种 *** 作系统、多种开发语言与平台。
项目Github地址:pynlpir
安装:
pip install pynlpir
下载证书覆盖到安装目录,NLPIR.user 例如安装目录:/usr/lib64/python3.4/site-packages/pynlpir/Data
使用 :
import pynlpir
pynlpir.open()
text = '化妆和服装'
words = pynlpir.segment(text, pos_tagging=False)
print(words)
pynlpir.close()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)