Git Product home page Git Product logo

Comments (8)

medcl avatar medcl commented on July 19, 2024

看看es的日志,报具体的异常是什么,你是用的release下的压缩包么,应该是依赖的包没拷贝。

send via my Phone.

在 2015年3月4日,下午5:37,HiccupLoong [email protected] 写道:

es-version: 1.4.2
es-ik-version: 1.2.9

mvn 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.

wxlfight avatar wxlfight commented on July 19, 2024

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.

wxlfight avatar wxlfight commented on July 19, 2024

@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.

patxiao avatar patxiao commented on July 19, 2024

同样的报错,通过到http://hc.apache.org/downloads.cgi下载http jar包解决了

from elasticsearch-analysis-ik.

songchaomail avatar songchaomail commented on July 19, 2024

如果另一个先前版本ES的实例在运行,再运行新分词版ES时候也会报这个错。

from elasticsearch-analysis-ik.

medcl avatar medcl commented on July 19, 2024

集群内分词配置必须一致

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.

manbusky avatar manbusky commented on July 19, 2024

这个坑我也踩过,大家记得运行完mvn clean package后拷贝target/releases目录下with-dependencies.jar文件;

from elasticsearch-analysis-ik.

waitgod avatar waitgod commented on July 19, 2024

把依赖的jar包都拷贝到${ES_HOME}/plugins/analysis-ik目录下也可以。

from elasticsearch-analysis-ik.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.