Fast inverted index in memory

I am looking for a live implementation of a built-in inverted index in memory. All I need is to store functions with weights for several million objects and use an inverted index to calculate the similarity between objects using different distance functions.

All other attributes of objects that I can store in some quick keystore.

I was hoping that I could use Lucene in the same way as an inverted index, but I can’t understand how I can link my own custom vector function with pre-computed weights to the document. Any recommendations would be much appreciated!

Thank.

+5
source share
4 answers

, redis 'zset - , ( , ).

zset -.

, ,
feature → [{docid, score}, {docid, score}..]

zadd: docid

redis, , .. . zunionstore, zrange (http://redis.io/commands/zunionstore).

() .. ( redis db).

+2

Terrier? , , , Lucene.

+1

Lucene , . " ", , . , "" , - , Lucene , . .

0

, , , , , Lucene - . . .

, , Lucene, , .

org.apache.lucene.search.Similarity

setDefault(Similarity similarity) 

(w.r.t. ), () , . , Lucene , ( " AND - OR-?" ), , . tf.idf .

, , LSH:

http://en.wikipedia.org/wiki/Locality-sensitive_hashing

0

All Articles