Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ezpaarse-project/methal

Package Overview
Dependencies
Maintainers
3
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ezpaarse-project/methal

Wrapper around the HAL API.

  • 2.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
3
Created
Source

MetHAL

Wrapper around the HAL API. It allows to query the HAL database in a convenient way.

## Install

  npm install --save @ezpaarse-project/methal

Usage

  var methal = require('methal');

  methal.query({ docid: '19' }, { fields: '*' }, function (err, result) {
    console.log(result);
  });

Methods

query(search, [options,] callback)

Perform a query and get the JSON response from the API. The callback is called with a potential error and the result object. (see below)

Result example
{
  "response":{
    // number of documents that match the query
    "numFound": 1,
    // index of the first document
    "start": 0,
    // actual documents (NB: the amount is limited by default)
    "docs":[{
      "docid": 19,
      "uri_s": "https://hal.archives-ouvertes.fr/hal-00000019",
      "label_s": "Mark Wexler, Francesco Panerai, Ivan Lamouret, Jacques Droulez. Self-motion and the perception of stationary objects. Nature, Nature Publishing Group, 2001, 409, pp.85-88. <hal-00000019>"
    }]
  }
}

find(search, [options,] callback)

Shorthand function to get multiple documents. Returns only the docs instead of the full JSON.

findOne(search, [options,] callback)

Shorthand function to get a single document. Limit the query to one row and returns only the doc instead of the full JSON.

Querying

The search can be eiter an object or a raw query string that use Solr syntax. The object supports $and, $or and $not operators between fields.

Have a look at the API documentation to get a list of all available fields.

Query examples

// city contains "Paris"
{ city_t: 'paris' }
// city equals "Paris"
{ city_s: 'Paris' }
// city contains either "Paris" or "London"
{ city_t: 'paris OR london' }
// title contains "milk" and (city equals "London" or language equals "en")
{
  title_t: 'milk',
  $or: [
    { city_s: 'London' },
    { language_s: 'en' }
  ]
}
// city equals "Paris" and (language is not "fr" and fulltext does not contain "milk")
{
  { city_s: 'Paris' },
  $not: [
    { language_s: 'fr' },
    { fulltext_t: 'milk' }
  ]
}

Main options

Have a look at the API documentation to get a full list of available options.

OptionDescription
sortSort results. Ex: "city_s asc", "language_s desc"
startOffset of the first document to return.
rowsNumber of documents to return (limited by default).
fl / fieldsFields to return. Ex: "*", "docid, country_s", ["docid", "country_s"]

FAQs

Package last updated on 19 Mar 2019

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc