Is there a good indexing / search engine for Node.js? [closed]
I'm looking for a good open source (with LGPL or a permissive license) indexing engine for a node.js application, something like Lucene. I'm looking for in-process indexing and search and am not interested in indexing servers like Sphinx or Solr.
I am not afraid to create bindings for a C/C++ library either so I'm open to those kind of suggestions as well.
So far I've found
- node-clucene which doesn't seem to be actively maintained anymore (and has several open issues)
- I could create my own binding for CLucene but it seems to be quite sparsely maintained and its current version is also quite behind the Java Lucene
- Apache Lucy which seems to be designed for the purpose of creating bindings for dynamic languages, but so far they don't have node bindings (nor a C API) and I haven't found any docs about creating bindings. I also didn't find any benchmarks about its performance.
- node-search which seems to be abandoned
- jsii which seems to be still a prototype and is also abandoned
- fullproof which is only intended to run in a web broswer
- lunr.js which seems to only allow serializing the whole index, so isn't scalable
I could "roll my own", but I'd prefer to use an already existing solution.
EDIT: Why I'm not interested in a standalone index server: I use a fast in-process key-value store database, so it'd be quite a waste having to go out of process for querying.
Solution 1:
Just an update to my earlier answer - since there was so much discussion I didn't want this update to get lost.
You can download it here:
Solution 2:
Yes, check out the newly released Norch
Norch is based on the search-index module for node.js, which is in turn based on Google's powerful levelDB index.
EDIT: Use the search-index module for fast "in-process" search capability.