Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
We have different type of features, and their nature is different :
SolrFeature -> can be query dependent / query independent
FieldValueFeature -> query independent
Value Feature -> query level
OriginalScoreFeature - > query dependent
Intuition
Let's see when the extracted value for a feature change :
Query independent ( document level features) -> indexing time, every commit may change the feature value and possibly invaldiate the cache entry
query dependent -> both request parameters and index can change the feature value
query level -> only request parameters can change the value, it is not affected by the index
Caching
let's see the benefits of having 3 separate caches ( so the feature vector components will be separated) :
Query independent feature Cache -> simply changing the request parameters will not invalidate the cache entry, only a commit will cause the autowarming
Query Dependent Feature Cache -> this will behave like the current cache, so changing params you will cache a different feature vector
Query level Cache ->the index is not involved at all
I have not yet investigated how caching internally works in the LTR plugin so i don't know how much effort would imply.