Replies: 1 comment 1 reply
-
Hi! Search and indexing are currently in the very early stages of development. Basically, we're implementing only core features and are laying the grounds for efficient indexing. Many practical commands like deleting an index, listing available, etc are missing. Almost all command options are missing too. Most importantly many core features are missing: stemming, scoring, sorting, aggregating, index compression. However it should already be possible to construct an index with FT.CREATE and query it with FT.QUERY. I recently ran benchmarks with up to a million indexed keys on fairly basic queries (text/tags and 1-3 intersections or unions) - performance should be more or less comparable to RedisSearch. How did you try querying? You can also take a look at our tests to see what cases should work (for example https://github.com/dragonflydb/dragonfly/blob/main/src/server/search/search_family_test.cc We are really interested in your use case so we can adapt our future development in that area 🚀 First we should match on core features, that require possibly more work and time to implement. Then we can add all auxiliary commands and options required to fully use those features Some basic questions:
Main core features (tag index and query execution) should be almost ready. There can be query scenarios that will perform worse (negation + intersection for example). The most important main feature that is missing is index compression, which allows to shrink the index size by a factor of two or three. Happy to see interest in this new feature 🙂 |
Beta Was this translation helpful? Give feedback.
-
In the current version 1.4 many PRs for the index and the search have been added. I am very happy about this, because I see the index as very important for DragondlyDB. Even a simple index makes handling the data much easier. Sorting and filtering by tags without loading modules makes FireflyDB very interesting. This has already worked well with JSON support. We now use DragonflyDb in production with over 4M keys and especially loading and saving snapshots is much better and much much faster than with Redis.
Are there already a few things you can test on the index topic?
FT. CREATE and FT.SEARCH are implemented, but the index doesn't seem to work yet. FT.DROPINDEX or FT._LIST do not work yet. With these basics you could already test a little bit.
Thanks for your work.
Beta Was this translation helpful? Give feedback.
All reactions