我试图为hibernate OGM mongo DB应用程序添加hibernate搜索支持。当我尝试使用FullTextEntityManager.createIndexer(post.class).startandWait();
行重新生成索引时,经常会出现以下异常。
HSearch000058:HSearch000116:MassIndexer操作过程中出现意外错误java.lang.NosuchMethoderror:org.hibernate.search.engine.spi.documentBuilderIndexedEntity.getidPropertyName()ljava/lang/string;在org.hibernate.ogm.massindex.impl.tupleindexer.idInstring(tupleindexer.java:128)~[hibernate-ogm-core-5.1.0.final.jar:5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.massindex.impl.tupleindexer.createaddlucenwork(tupleindexer.java:119)~[hibernate-ogm-core-5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.massindex.impl.tupleindexer.index(tupleindexer.java:89)~[hibernate-ogm-core-5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.massindex.impl.tupleindexer.jar:5.1.0.final]在org.hibernate.ogm.massindex.impl.optionallyWrapinjtatransaction.consum(optionallyWrapinjtatransaction.java:104)~[hibernate-ogm-core-5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.datastore.mongodb.mongodbdicalt.foreachtuple(mongodbdicalt.java:762)~[hibernate-ogm-mongodb-5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.dicalt.impl.forwardinggriddialt.foreachtuple(forwordinggriddialt.java:168)[hibernate-ogm-core-5.1.0.final.jar:5.1.0.final]在org.hibernate.ogm.dical.java:168)在]在java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)[NA:1.8.0_60]在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)[NA:1.8.0_60]在java.lang.thread.run(thread.java:745)[NA:1.8.0_60]
我的配置如下。ORM层中的POM文件:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.hibernate.ogm</groupId>
<artifactId>hibernate-ogm-mongodb</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.jboss.jbossts</groupId>
<artifactId>jbossjta</artifactId>
<version>4.16.4.Final</version>
</dependency>
<!--Hibernate search-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</exclusion>
</exclusions>
<version>5.5.3.Final</version>
</dependency>
<!-- Infinispan integration -->
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-directory-provider</artifactId>
<version>8.2.4.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<context:component-scan base-package="test.y"/>
<mvc:annotation-driven />
<context:property-placeholder location="classpath:system.properties" ignore-resource-not-found="true"
ignore-unresolvable="true"/>
<!--Common beans-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="ogm-jpa-tutorial" />
</bean>
<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<mvc:resources mapping="/css/**" location="/css"/>
<mvc:resources mapping="/js/**" location="/js"/>
<mvc:resources mapping="/fonts/**" location="/fonts"/>
<mvc:resources mapping="/images/**" location="/images"/>
<mvc:resources mapping="/uploads/**" location="/home/yasitha/Pictures/Aurudu-2017/"/>
<?xml version="1.0"?>
<persistence-unit name="ogm-jpa-tutorial" transaction-type="RESOURCE_LOCAL">
<!-- Use Hibernate OGM provider: configuration will be transparent -->
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<class>test.y.model.Post</class>
<properties>
<property name="hibernate.ogm.datastore.provider" value="mongodb" />
<!--<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform" />-->
<property name="hibernate.ogm.datastore.create_database" value="true"/>
<property name="hibernate.ogm.datastore.database" value="blog_db"/>
<property name="hibernate.search.default.directory_provider" value="filesystem"/>
<property name="hibernate.search.default.indexBase" value="/home/yasitha/lucene/indexes"/>
</properties>
</persistence-unit>
模型类:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Type(type = "objectid")
private String id;
@Field(index = Index.YES, analyze = Analyze.YES, store = Store.YES)
@Column(name = "headline")
private String title;
@Column(name = "content")
private String description;
@Column(name = "imgUrl")
private String imgUrl;
已经为用hibernate OGM插入的记录生成了索引。但不能重新索引数据库中的现有记录。如果你能给我任何解决这个问题的建议,我将非常感谢。:)
很可能您使用了错误的Hibernate搜索版本。据我所知,这个版本的OGM应该可以与Hibernate Search 5.6.1.final一起使用。
您是否考虑过使用Hibernate OGM BOM来避免此类问题?如果您这样做了,这个代码片段是Hibernate OGM及其依赖项的POM中唯一需要的东西:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.hibernate.ogm</groupId>
<artifactId>hibernate-ogm-bom</artifactId>
<version>5.1.0.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.hibernate.ogm</groupId>
<artifactId>hibernate-ogm-mongodb</artifactId>
</dependency>
</dependencies>
你可以在官方网站上找到更多信息。
我使用< code > Hibernate Search 4 . 5 . 1 编写了< code>Spring web-app。当我尝试搜索时,它返回一个条目列表。我认为索引中的问题。用于索引的目录已创建,但实体保存文件后,目录中的文件不变。 这是我的Spring配置文件 我的实体文件
当我跑的时候 我得到以下错误: 我试着改变我的ElasticSearch的版本。我的当前版本是: $curl-xget'localhost:9200'{“name”:“mokbeeq”,“cluster_name”:“elasticsearch”,“cluster_uuid”:“pf_z62bbtl-jq31hsuahqa”,“version”:{“number”:“5.6.8”,“build_h
我是弹性搜索的新手,我正在尝试使用下面的映射创建索引,我在网上找到了这些映射,并使用kibana作为我的客户机,它抛出错误。 “类型”:“映射程序解析异常”,“原因”:“根映射定义有不受支持的参数:[local_test:{u all={enabled=false},properties={amount={type=long},user_id={type=keyword},recurtive={t
我在尝试读取csv文件时遇到问题,错误如下所示: 。我尝试过在堆栈溢出中搜索,错误与上面相同。 法典: MyCSVFile:
我在Spring-MVC+JPA上有应用。我建立战争并尝试在Tomcat上开始。 DataConfig: app.properties为: 因此,tomcat日志中会出现错误消息:
主要内容:索引,下载索引,构件搜索我们知道,Maven 中央仓库为用户提供了多达数十万构件,而 Nexus 可以代理所有的远程仓库(包括 Maven 中央仓库),可见 Nexus 仓库中构件的数量相当庞大。用户想要在这么多构件中,快速的查找自己所需的构件,一个最直接有效的方式就是:搜索。 Nexus 作为一款成熟的仓库管理工具,它通过维护仓库的索引提供了构件搜索功能,以便帮助用户方便快速地找到所需构件。 本节我们将详细为您介绍 N