Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 836
Venemo Avatar asked May 18 '13 14:05

Venemo


People also ask

Is Node JS losing popularity?

Node. js development has become very popular over the last four years and continues to stand the competition in 2022 making startups worldwide choose it over other available options.

CAN Node JS handle high traffic?

As is, node. js can process upwards of 1000 requests per second and speed limited only to the speed of your network card. Note that it's 1000 requests per second not clients connected simultaneously. It can handle the 10000 simultaneous clients without issue.

What is indexing in Node JS?

index. js typically handles your app startup, routing and other functions of your application and does require other modules to add functionality. If you're running a website or web app it would also handle become a basic HTTP web server replacing the role of something more traditional like Apache.

How do I search for Node JS?

router. post('/search', function(req, res, next) { Product.search({ something: 'Something'}, function(err, result) { if (err) return next(err); res. redirect('/search') // <--- How do i pass the result object? }); }); router. get('/search', function(req, res, next) { res.


1 Answers

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:

like image 134
Fergie Avatar answered Sep 22 '22 18:09

Fergie