![Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility](https://cdn.sanity.io/images/cgdhsj6q/production/97774ea8c88cc8f4bed2766c31994ebc38116948-1664x1366.png?w=400&fit=max&auto=format)
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
node-solr-smart-client
Advanced tools
A node.js solr smart client. In short it serves as a smart constructor for solr-client. The constructor queries a ZooKeeper ensemble for live nodes of the input Solr collection. When more than one live node is returned by ZooKeeper, the constructor picks one at random and hands over to solr-client.
npm install node-solr-smart-client
Include option --save
to add it to your package.json file in the same go:
npm install node-solr-smart-client --save
// Load dependency
var solrSmartClient = require('node-solr-smart-client');
// Define options
options = {
zkConnectionString: 'localhost:2181',
zkLiveNodes: '/live_nodes',
zkAliases: '/aliases.json',
solrProtocol: 'http',
solrCollectionsGetEndPoint: '/admin/collections?action=LIST', // Supports XML and JSON writer types
ssh: {},
// Passed verbatim to node-zookeeper-client
zk: {
sessionTimeout: 3000,
spinDelay : 1000,
retries : 1
},
// Passed verbatim to node-rest-client
rest: {
requestConfig: {
timeout: 3000
},
responseConfig: {
timeout: 3000
},
mimetypes: {
json: ["application/json", "application/json;charset=utf-8", "application/json; charset=utf-8", "application/json;charset=UTF-8", "application/json; charset=UTF-8"],
xml: ["application/xml", "application/xml;charset=utf-8", "application/xml; charset=utf-8", "application/xml;charset=UTF-8", "application/xml; charset=UTF-8"]
}
}
};
// Create Solr client, execute query and print number of documents in response.
solrSmartClient.createClient('my_solr_collection', options, function (err, solrClient) {
if (err) {
return console.log(err);
}
solrClient.search('q=*:*', function (err, obj) {
if (err) {
return console.log(err);
}
console.log('Number of documents found: %d', obj.response.numFound);
})
});
Assuming SSH tunnels have been set up in the following manner
ssh -f -N -L 2181:my_zookeeper_node_1:2181 my_user@my_zookeeper_node_1
ssh -f -N -L 2182:my_zookeeper_node_2:2181 my_user@my_zookeeper_node_2
ssh -f -N -L 8080:my_solr_node_1:8080 my_user@my_solr_node_1
ssh -f -N -L 8081:my_solr_node_2:8080 my_user@my_solr_node_2
The options' ssh
field may be set as
ssh: {
tunnels: {
'my_solr_node_1:8080': 'localhost:8080',
'my_solr_node_2:8080': 'localhost:8081'
}
}
or alternatively in SSH style as
ssh: {
tunnels: '8080:my_solr_node_1:8080,8081:my_solr_node_2:8080'
}
As well zkConnectionString
in options
must have the tunneled value of 'localhost:2181,localhost:2182'
.
npm test
FAQs
A node solr-client smart constructor
The npm package node-solr-smart-client receives a total of 95 weekly downloads. As such, node-solr-smart-client popularity was classified as not popular.
We found that node-solr-smart-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.