0

私のsolrコレクションには次のフィールドがあります

田畑 :

  • プロジェクト ID
  • フォルダ ID
  • ファイル ID
  • ファイル名

projectid & folderidに基づいて特定のファイルを検索したい

どちらを使用するとパフォーマンスが向上しますか

1)

q:projectid:(PROJECTID) AND folderid:(FOLDERID)

または
2)

q:projectid:(PROJECTID)

fq:(folderid:FOLDERID)

こちらをご覧いただきありがとうございます。

4

2 に答える 2

0

クエリで fq を使用すると、通常の q パラメータを使用するよりも高速になります。

于 2014-09-15T15:17:13.953 に答える
0

フィルタ クエリは、fq で指定されたクエリがメイン クエリとは別にキャッシュされるため、複雑なクエリを高速化するのに非常に役立ちます。キャッシングとは、後のクエリで同じフィルターが再度使用されることを意味します (つまり、キャッシュ ヒットがあります)。キャッシングについては、http ://wiki.apache.org/solr/SolrCaching を参照してください。

ローカル パラメーター cache=false を任意のフィルター クエリの最上位に追加すると、そのフィルターを前もって生成してキャッシュするのではなく、クエリおよび他のすべてのフィルターと並行して実行できます。これは、他のリクエストで再利用されないフィルター (つまり、filterCache の汚染を回避する) や、インデックス内のすべてのドキュメントを評価するのに非常にコストがかかるフィルターに役立ちます。

Example: q:projectid:123&fq={!cache=false}folderid:FOLDERID

詳細については、こちらをご覧ください: http://wiki.apache.org/solr/CommonQueryParameters

于 2014-09-16T11:00:55.803 に答える