Solr ファセット フィールドを使用していて、理解できないパフォーマンスの問題に遭遇しました。次の 2 つのクエリを検討してください。
q=
語&facet.field=CONTENT&facet=true&facet.prefix=&facet.limit=10&facet.mincount=1&facet.method=enum&rows=0
q=
単語&facet.field=CONTENT&facet=true&facet.prefix=
_&facet.limit=10&facet.mincount=1&facet.method=enum&rows=0
facet.prefix
唯一の違いは、最初のクエリが空であることです。
最初のクエリは約 20 秒 (QTime
結果の 20000) 後に返されますが、2 番目のクエリは 80 ミリ秒 (80) しかかかりませんQTime
。どうしてこれなの?
補足としてfacet.method=fc
、クエリを「永久に」実行し、最終的には で失敗しorg.apache.solr.common.SolrException: Too many values for UnInvertedField faceting on field CONTENT
ます。
これはSolr 1.4です。