我将 flex 搜索从5.5版本升级到7.7,一切都按预期进行。
但是,当我尝试获取总点击数时,出现以下错误
searchResponse.getHits().getTotalHits()
无法解析org.apache.lucene.search.TotalHits类型。从所需的.class文件中间接引用它
我们并未使用lucene库,但仍表示它是指lucene,
感谢您提供任何帮助来解决此问题。
Maven pom.xml:
我只有这两个 jar
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>7.7.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
谢谢,
哈里
最佳答案
如this link所述,您可能需要添加以下依赖项:
<repository>
<id>elastic-lucene-snapshots</id>
<name>Elastic Lucene Snapshots</name>
<url>https://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
同样根据this link,您可能还需要添加Log4j依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
</dependency>
这应该够了吧。
另外,您也可以在下面的lucene依赖项中添加确切的版本,以查看是否只是执行
http://<hostname>:9200
,但是我建议采用上述方法,并按照其文档进行操作。<!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>8.5.1</version>
</dependency>
希望有帮助!