[
https://issues.apache.org/jira/browse/SOLR-12460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amrit Sarkar updated SOLR-12460:
--------------------------------
Description:
FacetProcessor.java :: {{handleJoinField}} calls
SolrIndexSearcher.getDocSet(..domainquery..) which eventually cache join
queries like:
{code}
key:{ !join from=[vin_s-value] to=[vin_s-value] } { !cache=false }
ConstantScore(BitSetDocTopFilter)
value: org.apache.solr.search.SortedIntDocSet@40886054 lastAccessed:824,
{code}
and when we execute the same query again, some of the entries are not getting
used at all. Please note: the filterCache entries are not getting used strictly
when we have more than 1 shard in the collection.
Sample: {{car_stuff}} collection with multiple doc-types: vehicle, claims,
defects - 10 shards
{code}
http://localhost:8983/solr/car_stuff/query?rows=0&q=doc_type_s:vehicle AND
v_model_s:model_009&json.facet={
models:{
type:terms,
field:"v_model_s",
limit:-1,
facet:{
year_per_model:{
type:terms,
field:"v_year_i",
limit:-1,
facet:{
claim_month:{
domain:{
join:{
from:"vin_s",
to:"vin_s"
},
filter:"doc_type_s:claim"
},
type:terms,
field:"claim_opcode_s",
limit:-1
}
}
}
}
}
}
{code}
After executing this query for first time, filterCache for one of the cores
looks like:
{code}
"CACHE.searcher.filterCache":{
"lookups":145,
"hits":47,
"cumulative_evictions":0,
"size":99,
"hitratio":0.32,
"evictions":0,
"cumulative_lookups":145,
"cumulative_hitratio":0.32,
"warmupTime":0,
"inserts":99,
"cumulative_inserts":99,
"cumulative_hits":47},
{code}
2nd time executing same query:
{code}
"CACHE.searcher.filterCache":{
"lookups":291,
"hits":145,
"cumulative_evictions":0,
"size":147,
"hitratio":0.5,
"evictions":0,
"cumulative_lookups":291,
"cumulative_hitratio":0.5,
"warmupTime":0,
"inserts":147,
"cumulative_inserts":147,
"cumulative_hits":145},
{code}
Looking into the entries of the filterCache looks like this:
{code}
.....
key: v_year_i:[1977 TO 1977] value: org.apache.solr.search.BitDocSet@1524fa9c
lastAccessed:457,
key: v_model_s:model_003 value: org.apache.solr.search.BitDocSet@61f348dd
lastAccessed:157,
key:{ !join from=[vin_s-value] to=[vin_s-value] } { !cache=false }
ConstantScore(BitSetDocTopFilter)
value: org.apache.solr.search.SortedIntDocSet@40886054 lastAccessed:824,
.....
The collection backup is uploaded on the JIRA.
was:
FacetProcessor.java :: {{handleJoinField}} calls
SolrIndexSearcher.getDocSet(..domainquery..) which eventually cache join
queries like:
{code}
key:{ !join from=[vin_s-value] to=[vin_s-value] } { !cache=false }
ConstantScore(BitSetDocTopFilter)
value: org.apache.solr.search.SortedIntDocSet@40886054 lastAccessed:824,
{code}
and when we execute the same query again, some of the entries are not getting
used at all. Please note: the filtercache entries are not getting used strictly
when we have more than 1 shard in the collection.
Sample: {{car_stuff}} collection with multiple doc-types: vehicle, claims,
defects - 10 shards
{code}
http://localhost:8983/solr/car_stuff/query?rows=0&q=doc_type_s:vehicle AND
v_model_s:model_009&json.facet={
models:{
type:terms,
field:"v_model_s",
limit:-1,
facet:{
year_per_model:{
type:terms,
field:"v_year_i",
limit:-1,
facet:{
claim_month:{
domain:{
join:{
from:"vin_s",
to:"vin_s"
},
filter:"doc_type_s:claim"
},
type:terms,
field:"claim_opcode_s",
limit:-1
}
}
}
}
}
}
{code}
After executing this query for first time, filtercache for one of the cores
looks like:
> Filtercache getting filled up when domain switches are involved in Json facets
> ------------------------------------------------------------------------------
>
> Key: SOLR-12460
> URL: https://issues.apache.org/jira/browse/SOLR-12460
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: Facet Module
> Affects Versions: master (8.0)
> Reporter: Amrit Sarkar
> Priority: Major
>
> FacetProcessor.java :: {{handleJoinField}} calls
> SolrIndexSearcher.getDocSet(..domainquery..) which eventually cache join
> queries like:
> {code}
> key:{ !join from=[vin_s-value] to=[vin_s-value] } { !cache=false }
> ConstantScore(BitSetDocTopFilter)
> value: org.apache.solr.search.SortedIntDocSet@40886054 lastAccessed:824,
> {code}
> and when we execute the same query again, some of the entries are not getting
> used at all. Please note: the filterCache entries are not getting used
> strictly when we have more than 1 shard in the collection.
> Sample: {{car_stuff}} collection with multiple doc-types: vehicle, claims,
> defects - 10 shards
> {code}
> http://localhost:8983/solr/car_stuff/query?rows=0&q=doc_type_s:vehicle AND
> v_model_s:model_009&json.facet={
> models:{
> type:terms,
> field:"v_model_s",
> limit:-1,
> facet:{
> year_per_model:{
> type:terms,
> field:"v_year_i",
> limit:-1,
> facet:{
> claim_month:{
> domain:{
> join:{
> from:"vin_s",
> to:"vin_s"
> },
> filter:"doc_type_s:claim"
> },
> type:terms,
> field:"claim_opcode_s",
> limit:-1
> }
> }
> }
> }
> }
> }
> {code}
> After executing this query for first time, filterCache for one of the cores
> looks like:
> {code}
> "CACHE.searcher.filterCache":{
> "lookups":145,
> "hits":47,
> "cumulative_evictions":0,
> "size":99,
> "hitratio":0.32,
> "evictions":0,
> "cumulative_lookups":145,
> "cumulative_hitratio":0.32,
> "warmupTime":0,
> "inserts":99,
> "cumulative_inserts":99,
> "cumulative_hits":47},
> {code}
> 2nd time executing same query:
> {code}
> "CACHE.searcher.filterCache":{
> "lookups":291,
> "hits":145,
> "cumulative_evictions":0,
> "size":147,
> "hitratio":0.5,
> "evictions":0,
> "cumulative_lookups":291,
> "cumulative_hitratio":0.5,
> "warmupTime":0,
> "inserts":147,
> "cumulative_inserts":147,
> "cumulative_hits":145},
> {code}
> Looking into the entries of the filterCache looks like this:
> {code}
> .....
> key: v_year_i:[1977 TO 1977] value:
> org.apache.solr.search.BitDocSet@1524fa9c lastAccessed:457,
> key: v_model_s:model_003 value: org.apache.solr.search.BitDocSet@61f348dd
> lastAccessed:157,
> key:{ !join from=[vin_s-value] to=[vin_s-value] } { !cache=false }
> ConstantScore(BitSetDocTopFilter)
> value: org.apache.solr.search.SortedIntDocSet@40886054 lastAccessed:824,
> .....
> The collection backup is uploaded on the JIRA.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]