Hi I have a few filter queries that use multiple cores join to filter documents. After I inverted those joins they became slower. So, it looks something like that:
I used to query "product" core with query that contains fq={!join to=tags from=preferred_tags fromIndex=user}(country:US AND ...)&fq=product_category:0&... Now I query "user" core with query that contains fq={!join to=preferred_tags from=tags fromIndex=product}(product_category:0 AND ...)&fq=country:US&... Both tags and preferred_tags might contain multiple values and "product" core is more oftenly used(so could be that the cache is warmer for that core). "user" index is smaller then "product". After a few queries Solr seems to warm up and serves the query ~50x faster, but the initial queries are extremely slow. I tried turning off caching for the filter and making it's cost higher then 150, but it did not help much. I was thinking about adding autowarmup queries, but first I want to check what makes the join so slow, so what would be a right way to debug it to see which part of it is the slowest one... Also, if I will go with autowarmup since there are 2 cores involved I wonder which warmup query should be used... "fq={!join to=preferred_tags from=tags fromIndex=product}(product_category:0 AND ...)" on "user" core or "fq=(product_category:0 AND ...)" on "product"... Solr version is 4.3.0 Regards, Oleg