You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
700 B

var queries = require('geopipes-elasticsearch-backend').queries,
sort = require('./sort');
function generate( params ){
10 years ago
var centroid = {
lat: params.lat,
lon: params.lon
};
var query = queries.distance( centroid, { size: params.size || 1 } );
query.sort = query.sort.concat(sort);
if ( params.categories && params.categories.length > 0 ) {
addCategoriesFilter( query, params.categories );
}
return query;
}
function addCategoriesFilter( query, categories ) {
query.query.filtered.query = {
match: {
category: {
query: categories.join(' '),
analyzer: 'standard',
operator: 'or'
}
}
};
}
module.exports = generate;