【问题标题】:Solr full-import having ProblemsSolr 完全导入有问题
【发布时间】:2014-10-06 10:51:23
【问题描述】:

我正在运行具有 5 个内核的 Sol 3.6 版本。每当我的应用程序启动时,我都会进行完全导入。 我只是调用 http://:/solr//dataimport?command=full-import

到目前为止,我面临 2 个奇怪的问题。

  1. 其中一个核心数据为空(索引已删除)。不知道为什么。
  2. 在我的查询中,我限制只加载 6 个月大的数据。有时我会得到比 6 个月大得多的数据。

问题: 默认“clean = true”是什么意思?在我的情况下它是真的。这是否意味着一旦我执行以下查询,我将看不到数据? http://:/solr//select/?q=%3A&version=2.2&start=0&rows=10&indent=on

【问题讨论】:

  • clean=true 表示您的索引已删除并完成新的导入
  • 是的,正确!它什么时候删除索引?在完全导入之前还是在完成之后?在我的情况下,我看到数据直到它完成索引。它工作正常吗?
  • 在提交完成之前什么都不会发生。对于clean=true,将首先发送 DELETE 查询,然后对文档进行索引。但是在完成提交之前,这些都不会反映在搜索中,这通常是在完全导入完成之后。但是,如果您设置了自动提交,那么 DELETE 将在第一次自动提交发生时立即反映在搜索器中。

标签: solr lucene dataimporthandler dih


【解决方案1】:

我遇到了同样的问题。

使用 clean=false 执行完全导入意味着 DIH 将在导入之前从索引中删除所有文档。该过程完成后,DIH 将执行提交,使更改可见。

发生在我身上的事情如下:

  1. 使用需要很长时间的数据库查询执行完全导入

  2. 通过查询删除文档,并设置了 commitWithIn。

  3. 索引为空。

除此之外,自动提交配置如下:

<autoCommit>
   <maxTime>1000</maxTime>
   <openSearcher>false</openSearcher>
 </autoCommit>

但确实发生了

<autoCommit>
  <maxTime>1000</maxTime>
  <openSearcher>true</openSearcher>
</autoCommit>

并使用 autoSoftCommit

<autoSoftCommit>
  <maxTime>1000</maxTime>
</autoSoftCommit>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    相关资源
    最近更新 更多