ryamaguchi0220 / qiitable

Parse Qiita-like search queries in Node.JS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Qiitable

Build Status NPM version

Qiitable is a Node.JS module to parse Qiita-like search queries.

This module is perfect for integrating complex search (like Qiita search) into your application.

Queries

Type Example
Query for tags Ruby
Query for multiple tags Ruby Rails, "Ruby on Rails"
Query for equality user:sampleuser, user:"sample user"
Query for not-equality -user:sampleuser
Query for values greater than another value stocks:>10, stocks:>=10
Query for values less than another value stocks:<100, stocks:<=100

How to use it?

Install it using:

$ npm install qiitable

Parse a query string:

var qiitable = require("qiitable");

var query = qiitable.Query('Ruby created:>=2020-01-01').parse();

Filter and customize queries using QueryBuilder:

var builder = qiitable.QueryBuilder();

// Define mapping, by default all fields are accepted and piped as string
builder.field('stocks', {
    type: Number
});
builder.field('created', {
    type: Date
});

// Reject a field
builder.reject('email');

// Parse queries (return a Query object)
builder.parse('Ruby stocks:>=10 created:>=2020-01-01')

Origin

This project started as a fork of GitbookIO/filterable.

About

Parse Qiita-like search queries in Node.JS

License:Apache License 2.0


Languages

Language:JavaScript 100.0%