Skip to content

josefsalyer/node-solr

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solr module for Node.js


Node.js: http://github.com/ry/node
Solr: http://lucene.apache.org/solr/

node-solr depends on libxml.js. Install it from 
http://libxmljs.squishtech.com/ and copy libxmljs.node to 
~/.node_libraries/ or elsewhere on your require.path.

For testing, node-solr depends on node-async-testing, found at 
http://github.com/bentomas/node-async-testing. Run all tests with 
"node test/all.js".

See tests for usage.  Here's a quick example, assuming Solr is running
at 127.0.0.1:8983:

    var solr = require("solr");
    var sys = require("sys");

    var client = solr.createClient();
    var doc1 = {
      id: "1",
      title_t: "Foo bar",
      text_t: "Fizz buzz frizzle"
    };
    var doc2 = {
      id: "2",
      title_t: "Far boo",
      text_t: "Wuzz fizz drizzle"
    };
    var options;
    var callback = function (err, response) {
      if (err) {
        throw err;
      }
      sys.puts("Document added");
    };
    client.add(doc1, options, callback);
    client.add(doc2, options, callback);
    client.commit();

    var query = "text_t:fizz"
    callback = function (err, response) {
      var responseObj = JSON.parse(response);
      sys.puts("A search for \"" + query + "\" returned " + 
          responseObj.response.numFound + " documents.");
      sys.puts("First doc title: " + responseObj.response.docs[0].title_t);
      sys.puts("Second doc title: " + responseObj.response.docs[1].title_t);
    };
    client.query(query, options, callback);

    var id;
    callback = function (err, response) {
      sys.puts("Deleted all docs matching query \"" + query + "\"");
    };
    client.del(id, query, callback);
    client.commit();

About

Solr module for Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%