steffi-graphdb / Steffi

Scalable Traversal Engine For Fast In-memory graphDB
15 stars 4 forks source link

Indexing #5

Open steffi-graphdb opened 10 years ago

steffi-graphdb commented 10 years ago

The properties indexing feature should be complete and allow for full text (cf Lucene) and numeric indices (b-tree, ...). This is mainly an implementation task as many of these mechanisms can be directly inspired from the existing solutions found in RDBMS. The API should then expose the indexing mechanism to the user.

In a second time, also consider indexing for the labels on the edges.

sskhiri commented 10 years ago

In Infinispan, the objects are already indexed using lucene. The question here is then "can we extend the existing system for indexing the node in the cache and how to expose a query API to clients?"

sskhiri commented 10 years ago

Here is a link to the INFINISPAN query API: http://infinispan.org/docs/6.0.x/user_guide/user_guide.html#_querying_infinispan

sskhiri commented 10 years ago

I propose: @ghrab to define the API to (1) create index and to (2) retrieve an indexed data @sskhiri and @atsal to look at the indexing scheme within INFINISPAN and proposing a first integration design

sskhiri commented 10 years ago

In the other hand, there is already an indexing API, but the implementation looks quite complex actually ! Look at the Testindex test case in order to see the number of classes involved. At first sight, it seems that the index is a multi map stored in the cache, the first level is (Attribute Name, IndexedValue Map) and the second level, the indexed value Map is a map (Indexed value, list of cell). I would be interested to see whether this code is efficient by a simple performance evaluation. @ghrab please look at the API of the com.steffi.index.ImgIndex and defining whether you need a richer API.