Comments (8)
看看es的日志,报具体的异常是什么,你是用的release下的压缩包么,应该是依赖的包没拷贝。
send via my Phone.
在 2015年3月4日,下午5:37,HiccupLoong [email protected] 写道:
es-version: 1.4.2
es-ik-version: 1.2.9mvn package 打包得到jar包(已经在pom中将es修改到1.4.2版本),放到es plugin目录,并将config中ik目录放到es的config目录中,最后在elasticsearch.yml结尾中配置(我直接把我的配置复制过来):
index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
运行命令:curl -XPOST http://localhost:9200/index/fulltext/_mapping -d'
{
"fulltext": {
"_all": {
"indexAnalyzer": "ik",
"searchAnalyzer": "ik",
"term_vector": "no",
"store": "false"
},
"properties": {
"content": {
"type": "string",
"store": "no",
"term_vector": "with_positions_offsets",
"indexAnalyzer": "ik",
"searchAnalyzer": "ik",
"include_in_all": "true",
"boost": 8
}
}
}
}'返回出错:{"error":"MapperParsingException[Analyzer [ik] not found for field [content]]","status":400}
查了下,出现这样的错误是说yml配置文件格式有问题。
我了解yml缩进格式,冒号后面必须有一个空格,缩进时不能使用tab,而是使用1个或多个空格,按照这样的格式修改,并且在http://yaml-online-parser.appspot.com/ 上解析过,正常。能否帮我看下是什么问题?
—
Reply to this email directly or view it on GitHub.
from elasticsearch-analysis-ik.
1.我是自己git clone下来,然后mvn clean package的
2.es正常启动后,在sense中运行:put twitter 创建index,结果出错,日志如下:
[2015-03-05 10:09:04,366][INFO ][node ] [Exodus] version[1.4.2], pid[1106], build[927caff/2014-12-16T14:11:12Z]
[2015-03-05 10:09:04,367][INFO ][node ] [Exodus] initializing ...
[2015-03-05 10:09:04,385][INFO ][plugins ] [Exodus] loaded [marvel, analysis-ik], sites [marvel]
[2015-03-05 10:09:07,428][INFO ][marvel.agent ] [Exodus] collecting disabled by settings
[2015-03-05 10:09:07,438][INFO ][node ] [Exodus] initialized
[2015-03-05 10:09:07,439][INFO ][node ] [Exodus] starting ...
[2015-03-05 10:09:07,533][INFO ][transport ] [Exodus] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/10.0.1.117:9300]}
[2015-03-05 10:09:07,550][INFO ][discovery ] [Exodus] elasticsearch/2YHioRN5Qo-VvjbKL_hIpQ
[2015-03-05 10:09:11,336][INFO ][cluster.service ] [Exodus] new_master [Exodus][2YHioRN5Qo-VvjbKL_hIpQ][xiaolongs-MacBook-Pro.local][inet[/10.0.1.117:9300]], reason: zen-disco-join (elected_as_master)
[2015-03-05 10:09:11,354][INFO ][http ] [Exodus] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/10.0.1.117:9200]}
[2015-03-05 10:09:11,354][INFO ][node ] [Exodus] started
[2015-03-05 10:09:11,369][INFO ][gateway ] [Exodus] recovered [0] indices into cluster_state
[2015-03-05 10:10:25,147][DEBUG][action.admin.indices.create] [Exodus] [twitter] failed to create
org.elasticsearch.indices.IndexCreationException: [twitter] failed to create index
at org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:301)
at org.elasticsearch.cluster.metadata.MetaDataCreateIndexService$2.execute(MetaDataCreateIndexService.java:382)
at org.elasticsearch.cluster.service.InternalClusterService$UpdateTask.run(InternalClusterService.java:329)
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:153)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/apache/http/client/ClientProtocolException
at org.elasticsearch.index.analysis.IkTokenizerFactory.<init>(IkTokenizerFactory.java:25)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at org.elasticsearch.common.inject.InjectorImpl$5$1.call(InjectorImpl.java:781)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.InjectorImpl$5.get(InjectorImpl.java:777)
at org.elasticsearch.common.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:221)
at com.sun.proxy.$Proxy16.create(Unknown Source)
at org.elasticsearch.index.analysis.AnalysisService.<init>(AnalysisService.java:82)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
at org.elasticsearch.common.inject.InjectorImpl.createChildInjector(InjectorImpl.java:131)
at org.elasticsearch.common.inject.ModulesBuilder.createChildInjector(ModulesBuilder.java:69)
at org.elasticsearch.indices.InternalIndicesService.createIndex(InternalIndicesService.java:299)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.ClientProtocolException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 62 more
from elasticsearch-analysis-ik.
@medcl Sorry,没有仔细看错误日志,从启动来看,ik插件确实已经load进来了,但是在创建index的时候,很明显是ik里面的httpclient依赖包没找到,是我打包的时候没有把dependency include到包里面,于是修改了ik的pom的一个插件,如下:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
运行命令:
mvn clean compile assembly:single
这样打的包就包含依赖了,
问题解决。
from elasticsearch-analysis-ik.
同样的报错,通过到http://hc.apache.org/downloads.cgi下载http jar包解决了
from elasticsearch-analysis-ik.
如果另一个先前版本ES的实例在运行,再运行新分词版ES时候也会报这个错。
from elasticsearch-analysis-ik.
集群内分词配置必须一致
send via my Phone.
在 2015年8月6日,上午10:29,songchaomail [email protected] 写道:
如果另一个先前版本ES的实例在运行,再运行新分词版ES时候也会报这个错。
—
Reply to this email directly or view it on GitHub.
from elasticsearch-analysis-ik.
这个坑我也踩过,大家记得运行完mvn clean package后拷贝target/releases目录下with-dependencies.jar文件;
from elasticsearch-analysis-ik.
把依赖的jar包都拷贝到${ES_HOME}/plugins/analysis-ik目录下也可以。
from elasticsearch-analysis-ik.
Related Issues (20)
- ES8.9.2,没有对应的release版本 HOT 2
- 英文数词被标记为 CN_WORD HOT 3
- 缺少opensearch以往版本的ik分词器 HOT 4
- https://release.infinilabs.com/analysis-ik/stable/ 里 ik只有opensearch版本,没有 HOT 2
- 如何修改 analysis-ik 支持的 Elasticsearch版本号? HOT 4
- 希望提供8.13.2、7.17.19版本插件 HOT 2
- 希望提供 7.17.17 版本插件 HOT 1
- 为什么加入ik分词器后,kibana无法进行启动(版本都是与es对应的) HOT 4
- 希望提供 OpenSearch 2.13.0 版本插件 HOT 1
- 求7.17.20版本的ik HOT 2
- 希望提供V8.13.2版本
- 希望提供v7.17.20版本插件 HOT 1
- ik无法按照main.dic字典分词,比如创立,已经在词典了,但ik_smart的时候分不出来 HOT 1
- failed to find global analyzer [ik_smart] HOT 1
- OpenSearch 2.14.0 构建 HOT 1
- IK分词器量词问题 HOT 1
- ik for 7.17.22 HOT 3
- 是否支持ElasticSearch v8.14.0版本的中文分词? HOT 3
- Failed installing IK HOT 2
- 如何使用ik分词器搜索emoji表情?IK分词器会自动过滤Emoji和特殊符号表情。 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch-analysis-ik.