1

私のドキュメントには、次の属性で宣言された「doc_id」と呼ばれる id フィールドがあります。

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

この ID は、タグで一意のキーとしてマークされます。

一度に多くのドキュメントを読み込もうとして、リクエストで ID を指定します fe doc_id:(235, 163, 256, ..., 10473)

クエリ内の識別子の数が 100 を超えることはありません。ただし、ストレージ内のドキュメントが多いほど、このクエリの実行にかかる時間が長くなります。これは SQL クエリ fe "select doc where doc_id in (...)" のようなものだと思っていましたが、"doc_id" のインデックスを使用すると、実行時間は一定になるはずですよね? では、ドキュメントをどんどん追加すると、なぜ solandra で速度が低下するのでしょうか?

Solandra (Solr 3.4 + Cassandra 1.0.3) を使用しています。

よろしく、 T

4

2 に答える 2

2

RealTimeGet (Solr >= 4.0)を使用します。

http://localhost:8983/solr/get?ids=1,2
于 2014-03-06T14:58:31.417 に答える
1

ID は一意であるため、検索しないでください。検索パフォーマンスは常に遅くなります。
たとえば、フィルター クエリを使用してみてください。fq=doc_id:235
これにより、Solr がフィルターキャッシュを使用できるようになりパフォーマンスが大幅に向上します。

于 2011-12-12T13:30:38.693 に答える