Does Erlang/OTP have a "full text index" library like Meilisearch?

Does Erlang/OTP have a “full text index” library like Meilisearch?

I found a few online, but I don’t think they’re perfect:

GitHub - cloudant-labs/dreyfus: Dreyfus manages Clouseau nodes to deliver full-text search features star 47 Dreyfus manages Clouseau nodes to deliver full-text search features
GitHub - cloudant-labs/clouseau: Expose Lucene features as an erlang-like node Star 50 Expose Lucene features as an erlang-like node

GitHub - elixir-search/searchex: Search Engine written in pure Elixir Star 83 Search Engine written in pure Elixir

GitHub - falood/exjieba: Elixir verison of Jieba, a Chinese word segmentation module. Star 36 Elixir verison of Jieba, a Chinese word segmentation module.

1 Like

For a real blast from the past, the ‘rdbms’ application included word seach indexing support, based on the Porter Stemming Algorithm, courtesy of Hans Nilsson.

My interest at the time was to try to figure out how to expand Mnesia’s indexing support so that something like that could be automated.
A few of the ideas later made it into Mnesia in the form of index plugins (undocumented, but super-cool). Weighted indexes, supported by rdbms, aren’t in Mnesia, though.

I also recall playing around with hierarchical indexes (indexes of indexes), but I think that was actually in ErlHive, which was even more out there. Not even going to link to it.

https://github.com/gebi/jungerl/blob/master/lib/rdbms/src/rdbms_wsearch.erl

But for someone who wants to play around, the wsearch code should be fairly easy to extract.

BR,
Ulf W

5 Likes

Thank you for your reply. I’ll check it out

1 Like

I found a C++ written search project, very powerful

GitHub - typesense/typesense: Open Source alternative to Algolia and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences Star 10.3K

1 Like

I’ve been here for a long time, but I still can’t understand it (my basic programming skills are not solid enough, so I can’t put forward my ability in a short time, so I’d better put it aside).

1 Like