【发布时间】:2011-06-08 19:44:55
【问题描述】:
我们在 SOLR 搜索方面遇到了一些问题。
我们正在使用带有 Jetty 的 SOLR 3.1。我们已经根据我们的要求设置了架构。我们已设置 data-config.xml 以将记录从我们的数据库(Sql Server 2005)导入到集合(核心)中。 数据库中有 320, 000 条记录需要我们导入。
导入完成后,当我尝试通过 SOLR 管理员搜索所有记录时
http://localhost:8983/solr/Collection_201/admin/
它显示找到的总数为 290, 000。因此,缺少 30, 000 条记录。
现在我想到了以下问题
我怎么知道哪条记录没有被正确索引?或者缺少哪条记录?为了知道这一点,我尝试了一个技巧,我认为我应该在数据库中放置一个字段,以了解哪些记录被导入 SOLR 集合,哪些不是。但最大的问题是我如何在从 data-config.xml 导入时更新这个数据库字段。因为标签只允许您搜索查询或换句话说返回的东西。所以,我有另一个想法仍然更新该数据库字段。我在我的数据库中创建了一个存储过程,其中包含将更新数据库中的字段的更新查询,之后我有选择查询,它只是返回 1 条记录来满足要求。但是当我尝试使用它运行 DIH 时,它返回“索引失败。回滚所有更改”错误消息并且没有导入任何内容。当我将更新查询注释到存储过程中时,它就可以工作了。所以它不允许我从存储过程运行更新查询。所以我非常努力地寻找一种从 DIH 更新数据库的方法。但是我真的没找到任何东西悲伤的微笑我拒绝了更新数据库的想法。
我清除了索引并再次开始导入数据。这次我尝试手动运行 solr 管理导入页面,每转 5,000 条记录。最后,对于一些仍然缺少记录的方式。
这是否可能没有正确提交。我在导入页面(http://localhost:8983/solr/Collection_201/dataimport?command=full-import&clean=false)自动提交导入数据的文档中红色。但我个人注意到有时会或有时不会。所以这真的让我发疯了悲伤的微笑
现在我非常沮丧,开始思考我使用 SOLR 的方式是否正确。如果我是对的,那么它可靠吗????如果我错了,请指导我我的错误是什么??
请请指导我如何轻松地同步。与我们的数据库收集并确保它是 100% 同步的。
【问题讨论】:
标签: solr