How to use the pelias-query.Vars function in pelias-query

To help you get started, we’ve selected a few pelias-query examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github pelias / api / query / address_search_using_ids.js View on Github external
function generateQuery( clean, res ){
  const vs = new peliasQuery.Vars( defaults );
  const results = _.defaultTo(res.data, []);

  // sources
  if( !_.isEmpty(clean.sources) ) {
    vs.var( 'sources', clean.sources);
  }

  // size
  if( clean.querySize ) {
    vs.var( 'size', clean.querySize );
  }

  if( ! _.isEmpty(clean.parsed_text.number) ){
    vs.var( 'input:housenumber', clean.parsed_text.number );
  }
github pelias / api / query / structured_geocoding.js View on Github external
function generateQuery( clean ){

  const vs = new peliasQuery.Vars( defaults );

  // input text
  vs.var( 'input:name', clean.text );

  // sources
  vs.var( 'sources', clean.sources);

  // layers
  vs.var( 'layers', clean.layers);

  // size
  if( clean.querySize ) {
    vs.var( 'size', clean.querySize );
  }

  // focus point
github pelias / api / query / reverse.js View on Github external
function generateQuery( clean ){

  const vs = new peliasQuery.Vars( defaults );

  // set size
  if( clean.querySize ){
    vs.var( 'size', clean.querySize);
  }

  // sources
  if( _.isArray(clean.sources) && !_.isEmpty(clean.sources) ) {
    vs.var('sources', clean.sources);
  }

  // layers
  if( _.isArray(clean.layers) && !_.isEmpty(clean.layers) ) {
    // only include non-coarse layers
    vs.var( 'layers', _.intersection(clean.layers, ['address', 'street', 'venue']));
  }
github pelias / api / query / venues.js View on Github external
function generateQuery( clean ){
  const vs = new peliasQuery.Vars( defaults );

  const logParts = ['query:venues', 'parser:libpostal'];

  // sources
  if( !_.isEmpty(clean.sources) ) {
    vs.var( 'sources', clean.sources);
    logParts.push('param:sources');
  }

  // size
  if( clean.querySize ) {
    vs.var( 'size', clean.querySize );
    logParts.push('param:querySize');
  }

  const mostGranularLayer = adminLayers.find(layer => {
github pelias / api / query / view / temp_ngrams_strip_housenumbers.js View on Github external
module.exports = function( vs ){

  // clone the $vs so we can modify this copy without
  // mutating the 'actual' query variables which get shared
  // with the other views.
  var vsClone = new peliasQuery.Vars( vs.export() );

  // set 'input:name' to the result of removeHouseNumber($name);
  if( vsClone.isset('input:name') ){
    var nameVar = vsClone.var('input:name');
    nameVar.set( removeHouseNumber( nameVar.get() ) );
  }

  // run the original ngram view but with the modified input:name' var
  return peliasQuery.view.ngrams( vsClone );
};
github pelias / api / query / search_pelias_parser.js View on Github external
function generateQuery( clean ){

  var vs = new peliasQuery.Vars( defaults );

  // input text
  vs.var( 'input:name', clean.text );
  vs.var( 'match_phrase:main:input', clean.text );

  // sources
  if( _.isArray(clean.sources) && !_.isEmpty(clean.sources) ) {
    vs.var( 'sources', clean.sources);
  }

  // layers
  if( _.isArray(clean.layers) && !_.isEmpty(clean.layers) ) {
    vs.var( 'layers', clean.layers);
  }

  // categories
github pelias / api / test / unit / query / text_parser.js View on Github external
test('parsed_text without properties should leave vs properties unset', function(t) {
    var parsed_text = {
      query: 'query value',
      category: 'category value',
      number: 'number value',
      street: 'street value',
      address: 'address value',
      neighbourhood: 'neighbourhood value',
      borough: 'borough value',
      postalcode: 'postalcode value',
      city: 'city value',
      county: 'county value',
      state: 'state value',
      country: 'country value'
    };
    var vs = new VariableStore();

    text_parser(parsed_text, vs);

    t.equals(vs.var('input:query').toString(), 'query value');
    t.equals(vs.var('input:category').toString(), 'category value');
    t.equals(vs.var('input:housenumber').toString(), 'number value');
    t.equals(vs.var('input:street').toString(), 'street value');
    t.equals(vs.var('input:address').toString(), 'address value');
    t.equals(vs.var('input:neighbourhood').toString(), 'neighbourhood value');
    t.equals(vs.var('input:borough').toString(), 'borough value');
    t.equals(vs.var('input:postcode').toString(), 'postalcode value');
    t.equals(vs.var('input:locality').toString(), 'city value');
    t.equals(vs.var('input:county').toString(), 'county value');
    t.equals(vs.var('input:region').toString(), 'state value');
    t.equals(vs.var('input:country').toString(), 'country value');
    t.end();
github pelias / api / test / unit / query / text_parser.js View on Github external
test('empty string values not set', function (t) {
    var parsed_text = {
      query: '',
      category: '',
      number: '',
      street: '',
      address: '',
      neighbourhood: '',
      borough: '',
      postalcode: '',
      city: '',
      county: '',
      state: '',
      country: ''
    };
    var vs = new VariableStore();

    function testIt() {
      text_parser(parsed_text, vs);
    }

    t.doesNotThrow(testIt, 'exception should not be thrown');

    t.false(vs.isset('input:query'));
    t.false(vs.isset('input:category'));
    t.false(vs.isset('input:housenumber'));
    t.false(vs.isset('input:street'));
    t.false(vs.isset('input:address'));
    t.false(vs.isset('input:neighbourhood'));
    t.false(vs.isset('input:borough'));
    t.false(vs.isset('input:postcode'));
    t.false(vs.isset('input:locality'));
github pelias / api / test / unit / query / autocomplete_token_matching_permutations.js View on Github external
function vars( clean ){
  var vs = new peliasQuery.Vars( defaults.export() );
  vs.var('input:name', clean.text);
  vs.var('input:name:tokens', clean.tokens);
  vs.var('input:name:tokens_complete', clean.tokens_complete);
  vs.var('input:name:tokens_incomplete', clean.tokens_incomplete);
  return vs;
}

pelias-query

An Elasticsearch query builder for Pelias

MIT
Latest version published 2 months ago

Package Health Score

70 / 100
Full package analysis

Similar packages