648cb4c2
tangwang
ES docs
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
https://github.com/NLPchina/elasticsearch-analysis-ansj
git clone https://github.com/NLPchina/elasticsearch-analysis-ansj.git
cd elasticsearch-analysis-ansj
git checkout v8.3.3
mvn package
会提示编译失败(v8.x版本都会失败,7.x就没问题),错误信息如下:
[ERROR] /ssd/samba_root1/projects/ansj/elasticsearch-analysis-ansj/src/main/java/org/ansj/elasticsearch/plugin/AnalysisAnsjPlugin.java:[14,34] 无法访问org.apache.lucene.analysis.Analyzer
[ERROR] 错误的类文件: /home/hello/.m2/repository/org/apache/lucene/lucene-core/9.2.0/lucene-core-9.2.0.jar(org/apache/lucene/analysis/Analyzer.class)
[ERROR] 类文件具有错误的版本 55.0, 应为 52.0
[ERROR] 请删除该文件或确保该文件位于正确的类路径子目录中。
7.x版本都没问题,8.x就会出这个错误。尝试把jdk版本从1.8改成 11, 17, 18、升级maven版本到3.9.6都不行(又提示类文件具有错误的版本 61.0, 应为 55.0)。
有人说可能是依赖冲突,不知道是否可以修改下环境,使得不冲突。
因此自己编译只能编译v7.17.16。8.x,release里面有现成的版本:
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-analysis-ansj/releases/download/v8.7.0/elasticsearch-analysis-ansj-8.7.0.0-release.zip
测试:
|
30f2a10b
tangwang
ansj -> ik
|
23
|
kibana中 : GET /_cat/ansj?text=中国&type=index_ik
|
648cb4c2
tangwang
ES docs
|
24
|
或者:
|
30f2a10b
tangwang
ansj -> ik
|
25
|
curl -X GET "http://localhost:9200/_cat/ansj?text=中国&type=index_ik"
|
648cb4c2
tangwang
ES docs
|
26
27
28
29
|
curl -X GET "http://localhost:9200/_cat/ansj?pretty" -H 'Content-Type: application/json' -d'
{
|
30f2a10b
tangwang
ansj -> ik
|
30
|
"type": "index_ik",
|
648cb4c2
tangwang
ES docs
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
"text": "中国"
}'
# 注意事项
ansj分词如果没有设置停用词的话,空格也会被分出来,搜出来的结果空格也会被飘红(如果query带空格的话)。所以一定要设置停用词表。
词性说明:
附-词性表格
符号 词性 解释
n 名词 取英语名词noun的第1个字母。
np 人名
nr 人名 名词代码n和“人(ren)”的声母并在一起。
nh 人名
ns 地名 名词代码n和处所词代码s并在一起
ni 机构名
nz 其它专名
nt 机构团体名 “团”的声母为t,名词代码n和t并在一起。
nl 名词性惯用语
nd 方位名词
ng 名词性语素
b 区别词
m 数词 取英语numeral的第3个字母,n,u已有他用。
q 量词 取英语quantity的第1个字母。
mq 数量词
t 时间词 取英语time的第1个字母。
f 方位词 取汉字“方” 的声母。
s 处所词 取英语space的第1个字母
v 动词 取英语动词verb的第一个字母。
vd 副动词
vn 名动词
vshi 动词“是”
vyou 动词“有”
vf 趋向动词
vx 形式动词
vi 不及物动词(内动词)
vl 动词性惯用语
vg 动词性语素
a 形容词 取英语形容词adjective的第1个字母。
an 名形词
ad 副形词
an 名形词
ag 形容词性语素
al 形容词性惯用语
d 副词 取adverb的第2个字母,因其第1个字母已用于形容词。
h 前接成分 取英语head的第1个字母。
k 后接成分
i 成语 取英语成语idiom的第1个字母。
j 简称 取汉字“简”的声母。
l 习用语 习用语尚未成为成语,有点“临时性”,取“临”的声母
r 代词 取英语代词pronoun的第2个字母,因p已用于介词。
c 连词 取英语连词conjunction的第1个字母。
p 介词 取英语介词prepositional的第1个字母。
u 助词 取英语助词auxiliary 的第2个字母,因a已用于形容词。
ud 结构助词 有
ug 时态助词 你
uj 结构助词的 迈向
ul 时态助词了 完成
uv 结构助词地 满怀信心
uz 时态助词着 眼看
y 语气助词 取汉字“语”的声母。
e 叹词 取英语叹词exclamation的第1个字母。
o 拟声词 取英语拟声词onomatopoeia的第1个字母。
g 语素 绝大多数语素都能作为合成词的“词根”,取汉字“根”的声母。
w 标点
x 其它 非语素字只是一个符号,字母x通常用于代表未知数、符号。
z 状态词 取汉字“状”的声母的前一个字母。
tg 时语素 时间词性语素。时间词代码为t,在语素的代码g前面置以T。
|