❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-typescript/tree/8.0.0
manticoresearch-typescript | Manticore Search | Node | Compatibility |
---|---|---|---|
manticoresearch-ts-dev |
dev (latest development version) |
Node 18 or newer | ✅ Fully Compatible |
8.0.0 or newer | 9.2.14 or newer | Node 18 or newer | ✅ Fully Compatible |
6.0.0 to 8.0.0 | 9.2.14 or newer | Node 18 or newer | |
6.0.0 to 8.0.0 | 7.0.0 to 9.2.14 | Node 18 or newer | ✅ Fully Compatible |
6.0.0 or newer | 4.2.1 to 7.0.0 | Node 18 or newer | |
3.3.1 to 6.0.0 | 6.2.0 or newer | Node 18 or newer | ✅ Fully Compatible |
3.3.1 to 6.0.0 | 4.2.1 to 6.2.0 | Node 18 or newer | |
1.0.x to 3.3.1 | 4.2.1 to 6.2.0 | Node 18 or newer | ✅ Fully Compatible |
npm install manticoresearch-ts
Please follow the installation instruction and execute the following typescript code:
import * as Manticoresearch from "manticoresearch-ts";
(async () => {
try {
const serverConfig = new Manticoresearch.ServerConfiguration("http://localhost:9308", {})
const config = Manticoresearch.createConfiguration({
baseServer: serverConfig,
});
indexApi = new Manticoresearch.IndexApi(config);
searchApi = new Manticoresearch.SearchApi(config);
# 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)
} catch (error) {
console.error("Error response:", JSON.stringify(error));
}
})();
Full documentation on the API Endpoints and Models used is available in docs folder as listed below.
Manticore Search server documentation: https://manual.manticoresearch.com.
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 | delete | 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 |
All endpoints do not require authorization.