0

概念実証Javaコードが機能するようにしようとしています。私が最初にやろうとしているのは、HD上のいくつかのtxtドキュメントのインデックスを作成することです。ただし、ノードを作成しようとしたときに例外が発生する前に、それほど遠くはありません。

次のコードはすべて、以下の例外を生成します。

コード

Node node = nodeBuilder().node();
Client client = node.client();

私の主な質問は

欠落しているように見えるBoundaryScannerクラスを取得できるのはなぜですか?例外の下にmavenpom.xmlを提供します。lucene-fast-vector-highlighterパッケージは、最新バージョン3.0.3のようです。

どんな助けでも大歓迎です。

例外

    07-Jun-2012 12:44:00 org.elasticsearch.node
INFO: [Allatou] {0.19.4}[2648]: initializing ...
07-Jun-2012 12:44:00 org.elasticsearch.plugins
INFO: [Allatou] loaded [], sites []
Exception in thread "main" org.elasticsearch.common.collect.ComputationException: java.lang.NoClassDefFoundError: org/apache/lucene/search/vectorhighlight/BoundaryScanner
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:400)
    at org.elasticsearch.common.inject.internal.FailableCache.get(FailableCache.java:49)
    at org.elasticsearch.common.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
    at org.elasticsearch.common.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:50)
    at org.elasticsearch.common.inject.InjectorImpl.initializeBinding(InjectorImpl.java:370)
    at org.elasticsearch.common.inject.BindingProcessor$1$1.run(BindingProcessor.java:148)
    at org.elasticsearch.common.inject.BindingProcessor.initializeBindings(BindingProcessor.java:204)
    at org.elasticsearch.common.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:119)
    at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:102)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
    at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)
    at org.elasticsearch.node.internal.InternalNode.<init>(InternalNode.java:149)
    at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159)
    at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166)
    at ie.openmobile.elasticsearch.Main.main(Main.java:49)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/search/vectorhighlight/BoundaryScanner
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getDeclaredConstructors(Unknown Source)
    at org.elasticsearch.common.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:177)
    at org.elasticsearch.common.inject.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:59)
    at org.elasticsearch.common.inject.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
    at org.elasticsearch.common.inject.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
    at org.elasticsearch.common.inject.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
    at org.elasticsearch.common.inject.internal.FailableCache$1.apply(FailableCache.java:38)
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:358)
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)
    at org.elasticsearch.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:396)
    ... 15 more
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.search.vectorhighlight.BoundaryScanner
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 29 more

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>

      <groupId>com.examplegroup</groupId>
      <artifactId>artifacename</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>

      <name>elasticsearch</name>
      <url>http://maven.apache.org</url>


      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12</version>
            <configuration>
              <systemPropertyVariables>
                <user.region>uk</user.region>
              </systemPropertyVariables>
            </configuration>
          </plugin>
        </plugins>
      </build>


      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>

         <repositories> 


         <repository> 
         <!-- elasticsearch hosted here -->
           <id>sonatype-releases</id> 
           <name>Sonatype Releases Repository</name> 
           <url>http://oss.sonatype.org/content/repositories/releases/</url> 
         </repository> 

       </repositories> 


      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>

        <dependency>
        <!-- jsoup HTML parser library @ http://jsoup.org/ -->
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.6.3</version>
        </dependency>

          <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>3.6.0</version>
          </dependency>           

          <dependency>                  
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-analyzers</artifactId>   
            <version>3.6.0</version>                            
          </dependency>                                               

          <dependency>                                                      
            <groupId>org.apache.lucene</groupId>                                    
            <artifactId>lucene-snowball</artifactId>                                          
            <version>3.0.3</version>                                                                    
          </dependency>                                                                                         

          <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-fast-vector-highlighter</artifactId>
            <version>3.0.3</version>
          </dependency>

          <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-highlighter</artifactId>
            <version>2.4.0</version>
          </dependency>

          <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-queries</artifactId>
            <version>2.4.0</version>
          </dependency>


          <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>0.19.4</version>
          </dependency>
      </dependencies>



    </project>
4

1 に答える 1

3

同じプロジェクトに異なるバージョンの Lucene コンポーネントを混在させることはお勧めできません。すべてに 3.6.0 を使用する必要があります。最近のバージョンではいくつかの変更があったため、いくつかの成果物を置き換える/削除する必要があります。たとえば、Snowball アナライザーは現在 lucene-analyzers に含まれているため、lucene-snowball アーティファクトは必要なく、lucene-fast-vector-highlighter は lucene-highlighter に含まれています。

      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>3.6.0</version>
      </dependency>           

      <dependency>                  
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers</artifactId>   
        <version>3.6.0</version>                            
      </dependency>                                               

      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-highlighter</artifactId>
        <version>3.6.0</version>
      </dependency>

      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queries</artifactId>
        <version>3.6.0</version>
      </dependency>
于 2012-06-07T13:17:12.870 に答える