NReco.NLQuery provides a simple way to add search-based interface into your .NET app. It was specially designed for matching business entities in context of structured data (tabular data or database, OLAP cube, text indexes etc). This library is useful for: keyword-based filters for lists/grids, custom semantic search by database(s), search-driven analytics (reports by search), parse incoming messages by bots.
- implements basic set of matchers for handling typical search queries
- handles relative date phrases like "yesterday", "last week", "last month", "last year", conditions "between", "more than", "less than", "age>18", ranges like "before", "after". Custom date-recognizer phrases may be easily added.
- supports matching in external indexes (say, Lucene or ElasticSearch).
- synonyms for better recognition results and ontology matching
- can helps users to form a query by providing autocomplete suggestions
- includes a component that automatically configures recognizer by a data table description.
- Search-like list filter (NliDataFilter example)
- Search-driven analytics (Q&A) (NliPivotTable example)
- PivotData Microservice search queries
- NerByDataSet: Recognizes search query in context of MovieLens dataset (films).
- NliDataFilter: ASP.NET example for natural language query to SQL translation (data list search-like filter).
- NliPivotTable: ASP.NET example for search-driven analytics (Q&A report builder). This example uses PivotData Toolkit for pivot tables generation.
- NlqForOlap: how to parse natural language queries to build OLAP-kind of queries (no dependency on the concrete OLAP technology).
NReco.NLQuery is in production use at SeekTable.com and PivotData microservice.
Copyright 2016-2024 Vitaliy Fedorchenko
Distributed under the NReco NLQuery FREE license (see src/LICENSE): this library can be used for free only in non-SaaS apps that have only one single-server production deployment. In all other cases commercial license is required (can be purchased here).