使用 Spring-Data-Solr 将数据索引到 Solr 时未发现关联错误

莱库马尔迪帕克

我正在尝试 spring data mongoDB + spring data solr 的示例服务应用程序,其中 MongoDB 用于持久化数据和 solr 以进行索引和搜索。

对 MongoDB 的保存操作在服务类中成功发生。但是在调用该SolrOperation save()方法时,服务崩溃并显示如下错误日志:

SEVERE [com.sun.jersey.spi.container.ContainerResponse] (defaulttask-1)The 
RuntimeException could not be mapped to a response, re-throwing the HTTP 
container:org.springframework.data.solr.UncategorizedSolrException:No
association fond!; nested exception is java.lang.IllegalStateException: No 
association found! at     org.springframework.data.solr.core.SolrTemplate.execute(SolrTemplate.java:171)

当我进一步深入分析日志时,它说:

Caused by: java.lang.IllegalStateException:No association found!
at org.springframework.data.mapping.PersistentProperty.getRequiredAssociation(PersistentProperty.java:166)

getConverter().write(bean, document)convertBeanToSolrInputDocument ()SolrTemplate抛出的错误。

DAO 方法

public String addToRepo(MyEntity myEntity){
mongoOperation.save(myEntity); //works fine data saved to MongoDB
solrOperation.save("collectionName",myEntity); //generates above exception
return "success";
}

我正在使用 Spring 5 + solrj-6.1.0 + spring-data-solr-4.0.2。

solroperation已经正确加载:

ApplicationContext SOLR_CONFIG_APP_CTX = new AnnotationConfigApplicationContext(SpringSolrConfig.class);
SolrOperations solrOperation = (SolrOperations)ctx.getBean("solrTemplate");

public static final SolrOperations SOLR_OPS=
(SolrOperations)SOLR_CONFIG_APP_CTX.getBean("solrTemplate");

SpringSolrConfig.java

@Configuration
public class SpringSolrConfig extends AbstractSolrConfig {
public SolrClientFactory solrClientFactory (){
SolrClient solrClient = new HttpSolrClient.Builder(solrUrl).build();
HttpSolrClientFactory solrClientFactory = new HttpSolrClientFactory (solrClient);
return solrClientFactory;
}
}

SpringConfig.xml文件看起来是这样的:

<mongo:mongo host="195.168.1.140" port="27017"/>
<mongo:dbfactory dbname="myDB"/>
<bean id="mongoTemplate"
class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg-name="mongoDbFactory" ref="mongoDbFactory"/>
</bean>
<repositories base-package="sample.package.repositories"/>
<bean id="myEntityRepo" class="sample.package..repositories.MyEntityRepositoryInterface"/>
<solr:repositories base-package="sample.package.repositories"/>
<solr:sorl-server id="solrServer" url="http://localhost:8983/solr"/>
<bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate">
<constructor-arg index="0" ref="solrServer"/>
</bean>

在此先感谢您帮助我解决此问题!

莱库马尔迪帕克

我更新了我的 SpringSolrConfig 文件,如下所示来解决这个问题。礼貌:https : //jira.spring.io/browse/DATASOLR-394

    @Configuration
    public class SpringSolrConfig extends AbstractSolrConfig {

    String solrUrl = "http://localhost:8983/solr/"; // TODO read this ideally from spring-configuration.xml file
    public SolrClientFactory solrClientFactory (){
    SolrClient solrClient = new HttpSolrClient.Builder(solrUrl).build();
    HttpSolrClientFactory solrClientFactory = new HttpSolrClientFactory (solrClient);
    return solrClientFactory;
    }

    @Bean
    public SolrTemplate solrTemplate () {
    SolrTemplate solrTemplateObj = new SolrTemplate(solrClientFactory));
    // This ensures that the default MappingSolrConverter.java is not used for converting the bean to a Solr Document before indexing
    solrTemplateObj.setSolrConverter(new SolrJConverter());
    return solrTemplateObj;
    }

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据从Postgres索引到Solr / ElasticSearch

来自分类Dev

如何使用spring-data-solr构建FacetQuery,它从solr索引返回所有文档(*:*)

来自分类Dev

如何使用Spring Data Solr在Solr中插入嵌套文档?

来自分类Dev

尝试使用sunburnt将文档索引到Solr时出现KeyError:“ id”

来自分类Dev

尝试使用sunburnt将文档索引到Solr时出现KeyError:“ id”

来自分类Dev

使用 Spring Data Solr 验证 SolrCore

来自分类Dev

Spring Data Solr

来自分类Dev

使用 DSE Solr 时的数据

来自分类Dev

将MYSQL表索引到Solr 5

来自分类Dev

在Spring Boot中使用新版本的Spring Data Solr

来自分类Dev

使用solrj而不是spring-boot-starter-data-solr时Spring Boot崩溃

来自分类Dev

使用SolrTemplate使用Spring-data-solr进行数据透视

来自分类Dev

我如何使用原始 spring-data-solr 在嵌入式 solr 上配置多个内核

来自分类Dev

使用Spring-Data-Solr注入存储库

来自分类Dev

在Spring Data Solr 1.5.4中创建自定义Solr查询时出现AbstractMethodError

来自分类Dev

在Spring Data Solr 1.5.4中创建自定义Solr查询时出现AbstractMethodError

来自分类Dev

Spring Data Solr-通过DIH导入完整数据

来自分类Dev

Spring-Data-Solr如何提供认证数据

来自分类Dev

有没有办法将Solr的流式API与spring数据solr一起使用?

来自分类Dev

Spring Data Solr上的嵌入式solr的Solr.xml和schema.xml

来自分类Dev

使用Apache Solr索引Nutch数据

来自分类Dev

使用 Solr 索引嵌套数据

来自分类Dev

使用Solr索引日志文件

来自分类Dev

带有Querydsl的Spring Data Solr

来自分类Dev

Spring Data Solr始终创建多值字段

来自分类Dev

Spring Data Solr地理查询

来自分类Dev

带有Querydsl的Spring Data Solr

来自分类Dev

Spring Data Solr始终创建多值字段

来自分类Dev

Solr单索引与Solr多核

Related 相关文章

  1. 1

    将数据从Postgres索引到Solr / ElasticSearch

  2. 2

    如何使用spring-data-solr构建FacetQuery,它从solr索引返回所有文档(*:*)

  3. 3

    如何使用Spring Data Solr在Solr中插入嵌套文档?

  4. 4

    尝试使用sunburnt将文档索引到Solr时出现KeyError:“ id”

  5. 5

    尝试使用sunburnt将文档索引到Solr时出现KeyError:“ id”

  6. 6

    使用 Spring Data Solr 验证 SolrCore

  7. 7

    Spring Data Solr

  8. 8

    使用 DSE Solr 时的数据

  9. 9

    将MYSQL表索引到Solr 5

  10. 10

    在Spring Boot中使用新版本的Spring Data Solr

  11. 11

    使用solrj而不是spring-boot-starter-data-solr时Spring Boot崩溃

  12. 12

    使用SolrTemplate使用Spring-data-solr进行数据透视

  13. 13

    我如何使用原始 spring-data-solr 在嵌入式 solr 上配置多个内核

  14. 14

    使用Spring-Data-Solr注入存储库

  15. 15

    在Spring Data Solr 1.5.4中创建自定义Solr查询时出现AbstractMethodError

  16. 16

    在Spring Data Solr 1.5.4中创建自定义Solr查询时出现AbstractMethodError

  17. 17

    Spring Data Solr-通过DIH导入完整数据

  18. 18

    Spring-Data-Solr如何提供认证数据

  19. 19

    有没有办法将Solr的流式API与spring数据solr一起使用?

  20. 20

    Spring Data Solr上的嵌入式solr的Solr.xml和schema.xml

  21. 21

    使用Apache Solr索引Nutch数据

  22. 22

    使用 Solr 索引嵌套数据

  23. 23

    使用Solr索引日志文件

  24. 24

    带有Querydsl的Spring Data Solr

  25. 25

    Spring Data Solr始终创建多值字段

  26. 26

    Spring Data Solr地理查询

  27. 27

    带有Querydsl的Spring Data Solr

  28. 28

    Spring Data Solr始终创建多值字段

  29. 29

    Solr单索引与Solr多核

热门标签

归档