Skip to content

manticoresoftware/manticoresearch-javascript

Repository files navigation

Manticore Javascript client

Сlient for Manticore Search.

❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-javascript/tree/7.0.0

Compatibility Table

Minimum Manticore Search version is 2.5.1 with HTTP protocol enabled.

*manticoresearch-javascript Manticore Search Node Compatibility
manticoresearch-dev dev (latest development version) Node 18 or newer ✅ Fully Compatible
6.0.0 or newer 7.0.0 or newer Node 18 or newer ✅ Fully Compatible
6.0.0 or newer 6.2.1 to 7.0.0 Node 18 or newer ⚠️ Partially Compatible
3.3.1 to 6.0.0 7.0.0 or newer Node 10 or newer ⚠️ Partially Compatible
3.3.1 to 6.0.0 6.2.1 to 7.0.0 Node 10 or newer ✅ Fully Compatible
3.0.0 to 3.3.1 6.2.0 or newer Node 10 or newer ⚠️ Partially Compatible
3.0.0 to 3.3.1 4.2.1 to 6.2.0 Node 10 or newer ✅ Fully Compatible
2.0.3 to 3.0.0 4.0.2 to 4.2.1 Node 10 or newer ✅ Fully Compatible
2.0.2 to 2.0.3 4.0.2 to 4.2.1 Node 8 or newer ⚠️ Partially Compatible
2.0.2 to 2.0.3 2.5.1 to 4.0.2 Node 8 or newer ✅ Fully Compatible

Installation

npm install manticoresearch

Getting Started

Please follow the installation instruction and execute the following JS code:

var Manticoresearch = require('manticoresearch');


# Create instances of API classes
var client= new Manticoresearch.ApiClient();
client.basePath="http://127.0.0.1:9308";
indexApi = new Manticoresearch.IndexApi(client);
searchApi = new Manticoresearch.SearchApi(client);

# Perform insert and search operations
await indexApi.insert({"index": "products", "doc" : {"title" : "Crossbody Bag with Tassel", "price" : 19.85}});
await indexApi.insert({"index": "products", "doc" : {"title" : "microfiber sheet set", "price" : 19.99}});

var search_query = new Manticoresearch.SearchQuery()
search_query.query_string = "@title bag"
      
var search_request = new Manticoresearch.SearchRequest()
search_request.index = "products"
search_request.query = search_query
var query_highlight = new Manticoresearch.Highlight()
query_highlight.fields = {"title":{}}
search_request.highlight = query_highlight
  
var search_response = await searchApi.search(search_request)
console.log("The response of SearchApi->search:\n")    
console.log(search_response)

# Alternatively, you can pass all request arguments as JSON strings
search_response = await searchApi.search({"index": "products", "query": {"query_string": "@title bag"}, "highlight": {"fields": ["title"]}});
console.log("The response of SearchApi->search:\n")    
console.log(search_response)

Documentation for API Endpoints

All URIs are relative to http://127.0.0.1:9308

Class Method HTTP request Description
Manticoresearch.IndexApi bulk POST /bulk Bulk table operations
Manticoresearch.IndexApi callDelete POST /delete Delete a document in a table
Manticoresearch.IndexApi insert POST /insert Create a new document in a table
Manticoresearch.IndexApi partialReplace POST /{table}/_update/{id} Partially replaces a document in a table
Manticoresearch.IndexApi replace POST /replace Replace new document in a table
Manticoresearch.IndexApi update POST /update Update a document in a table
Manticoresearch.SearchApi autocomplete POST /autocomplete Performs an autocomplete search on a table
Manticoresearch.SearchApi percolate POST /pq/{table}/search Perform reverse search on a percolate table
Manticoresearch.SearchApi search POST /search Performs a search on a table
Manticoresearch.UtilsApi sql POST /sql Perform SQL requests

Documentation for Models

Documentation for Authorization

Endpoints do not require authorization.