JanusGraph / JanusGraph/janusgraph
Optimize retrieval of entity fields from index backends
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
Currently only id and score are needed during the retrieval and only that are returned (for ElasticSearch this optimization was enabled in #1652 and for lucene this optimization was enabled in #1647).
For some queries we could eliminate a storage call by retrieving necessary data from the index backend.
For example, if we have a travarsal like `.V().order().by("age").values("name", "age")` and both `name` and `age` are indexed, we can retrieve them from the index backend during the search instead of making an additional call into the storage database.
Contributor guide
Research direction
Start by reviewing the retrieval changes referenced in #1652 and #1647, then trace how indexed entity fields are fetched across the index backends. The work is complete when indexed fields needed by a traversal can be returned from the backend without an extra storage call, while non-indexed fields retain their existing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch, java
- Domain
- databases, performance, search
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100