按ID搜索文档非常慢

时间:2011-12-12 10:34:25

标签: solr cassandra solandra

我的文档有一个id字段,名为" doc_id",使用以下属性声明:

<field name="doc_id" type="long" indexed="true" stored="true" required="true" />

此ID被标记为带标记的唯一键。

我尝试一次加载许多文档,并在请求中提供它们的ID。 doc_id:(235,163,256,...,10473)

查询中的标识符数量绝不会大于100.但是,存储中的文档越多,执行此查询所需的时间就越长。我以为这会像SQL查询f.e. &#34;选择文档,其中doc_id在(...)&#34;但索引在&#34; doc_id&#34;执行时间应该是不变的,不应该吗?那么为什么在添加越来越多的文档之后它在solandra中会变慢呢?

我与Solandra合作(Solr 3.4 + Cassandra 1.0.3)

问候,T

2 个答案:

答案 0 :(得分:2)

使用RealTimeGet(Solr&gt; = 4.0)。

http://localhost:8983/solr/get?ids=1,2

答案 1 :(得分:1)

由于ID是唯一的,因此不要搜索它。搜索性能总是较慢 尝试使用过滤查询,例如fq=doc_id:235
这将允许Solr使用filtercache并为您提供更好的性能。