All, I have knocked up what I think could be a really cool function query - it allows you to retrieve a value from another core (much like a pseudo join) and use that value during scoring (much like an ExternalFileField).
Examples: * Selective boosting of documents based upon a category based value * boost on aggregated popularity values * boost on fast moving data on your slow moving index It *works* but it does so very slowly (on 3m docs, milliseconds without, and 24s with it). There are two things that happen a lot: * locate a document with unique ID value of X * retrieve the value of field Y for that doc What it seems to me now is that I need to implement a cache that will have a string value as the key and the (float) field value as the object, that is warmed alongside existing caches. Any pointers to examples of how I could do this, or other ways to do the conversion from a key value to a float value faster? NB. I hope to contribute this if I can make it perform. Thanks! Upayavira