- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在构建 Solr 索引(Apache Tomcat 6.0.33 上的 Lucene 和 Solr 3.4.0)时遇到问题。
要编制索引的文档数据来自 Oracle 数据库。由于我必须处理大量的 CLOB,我将数据导入分成几个请求处理程序以提高性能,同时从数据库中获取数据(多线程模拟)。这些 requestHandlers 在我的 solrconfig.xml 中配置如下:
<requestHandler name="/segment-#" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">segment-#.xml</str>
</lst>
</requestHandler>
为了构建索引,我启动了带有 clean=true 选项的第一个 DataImportHandler,然后启动了所有其他段的完全导入。当所有段都通过时,状态页面 ( http://host/solr/segment-# ) 告诉我,对于每个段,正确的行数(根据数据库中的 SELECT COUNT(*) 语句)被提取和处理。到目前为止还不错。
但是如果我现在调用核心的状态页面 (http://host/solr/admin/core),则 numDocs 不是所有段的总和。总是缺少一些文件。我尝试了几次索引构建,差异总是不同的。总而言之,索引中应该有 830 万个文档,但实际上总是迂回地缺少 100.000 个条目。 numDocs 与我可以通过 Solr 管理界面使用 *:*
查询找到的编号相同。
我打开了信息流,查看了日志条目,还有 Tomcat 日志,但没有找到任何线索。我做错了什么?
我正在使用 17 个 requestHandlers,我的
<useCompoundFile>false</useCompoundFile>
<mergeFactor>17</mergeFactor>
<ramBufferSizeMB>32</ramBufferSizeMB>
<maxBufferedDocs>50000</maxBufferedDocs>
<maxFieldLength>2000000</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>
<lockType>native</lockType>
非常感谢您的帮助。非常感谢您!
最佳答案
我发现了问题,只需要 RTFM...我自欺欺人,因为默认的清理选项是 TRUE,我以为它是 FALSE。所以我只是用 &clean=true 调用第一个 URL,而不是用 &clean=false 调用所有其他 URL。所以每个 URL 调用都会导致清理整个索引。如果我用 &clean=false 调用 URL,则所有文档的总和都是正确的。
关于Solr 核心的 numDocs 不等于已处理文档的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8489590/
我们正在运行 Solr 来索引大量数据,但遇到了一个非常有趣的问题,我无法在任何地方找到任何帮助。 似乎 Solr 使用带符号的 32 位整数来计算索引中当前的文档数。我们刚刚达到了这个数字,我们的
我在构建 Solr 索引(Apache Tomcat 6.0.33 上的 Lucene 和 Solr 3.4.0)时遇到问题。 要编制索引的文档数据来自 Oracle 数据库。由于我必须处理大量的 C
我在 Lucene 的 Similarity 类 public float idf(Term term, Searcher searcher) 方法 javadoc 上找到了这个: Note that
我是一名优秀的程序员,十分优秀!