Awesome
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/4.0.0
Requirements
Minimum Manticore Search version is 2.5.1 with HTTP protocol enabled.
Manticore Search | manticoresearch-javascript | Node |
---|---|---|
dev | manticoresearch-dev | >= 10.0 |
>= 6.2.0 | >= 3.3.1 | >= 10.0 |
>= 4.2.1 | >= 3.0.x | >= 10.0 |
>= 4.0.2 | >= 2.0.3 | >= 10.0 |
>= 2.5.1 | >= 2.0.2 | >= 8.0 |
Installation
For Node.js
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json
(and this README). Let's call this JAVASCRIPT_CLIENT_DIR
. Then run:
npm install
Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR
:
npm link
To use the link you just defined in your project, switch to the directory you want to use your manticoresearch from, and run:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
Finally, you need to build the module:
npm run build
For browser
The library also works in the browser environment via npm and browserify. After following
the above steps with Node.js and installing browserify with npm install -g browserify
,
perform the following (assuming main.js is your entry file):
browserify main.js > bundle.js
Then include bundle.js in the HTML pages.
Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:
module: {
rules: [
{
parser: {
amd: false
}
}
]
}
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 index operations |
Manticoresearch.IndexApi | callDelete | POST /delete | Delete a document in an index |
Manticoresearch.IndexApi | insert | POST /insert | Create a new document in an index |
Manticoresearch.IndexApi | partialReplace | POST /{index}/_update/{id} | Partially replaces a document in an index |
Manticoresearch.IndexApi | replace | POST /replace | Replace new document in an index |
Manticoresearch.IndexApi | update | POST /update | Update a document in an index |
Manticoresearch.SearchApi | percolate | POST /pq/{index}/search | Perform reverse search on a percolate index |
Manticoresearch.SearchApi | search | POST /search | Performs a search on an index |
Manticoresearch.UtilsApi | sql | POST /sql | Perform SQL requests |
Documentation for Models
- Manticoresearch.AggComposite
- Manticoresearch.AggCompositeSource
- Manticoresearch.AggCompositeTerm
- Manticoresearch.AggTerms
- Manticoresearch.Aggregation
- Manticoresearch.BoolFilter
- Manticoresearch.BulkResponse
- Manticoresearch.DeleteDocumentRequest
- Manticoresearch.DeleteResponse
- Manticoresearch.ErrorResponse
- Manticoresearch.FulltextFilter
- Manticoresearch.GeoDistance
- Manticoresearch.GeoDistanceLocationAnchor
- Manticoresearch.Highlight
- Manticoresearch.HighlightFieldOption
- Manticoresearch.InsertDocumentRequest
- Manticoresearch.Join
- Manticoresearch.JoinCond
- Manticoresearch.JoinOn
- Manticoresearch.KnnQuery
- Manticoresearch.Match
- Manticoresearch.MatchAll
- Manticoresearch.PercolateRequest
- Manticoresearch.PercolateRequestQuery
- Manticoresearch.QueryFilter
- Manticoresearch.Range
- Manticoresearch.ReplaceDocumentRequest
- Manticoresearch.ResponseError
- Manticoresearch.ResponseErrorDetails
- Manticoresearch.SearchQuery
- Manticoresearch.SearchRequest
- Manticoresearch.SearchResponse
- Manticoresearch.SearchResponseHits
- Manticoresearch.SourceRules
- Manticoresearch.SuccessResponse
- Manticoresearch.UpdateDocumentRequest
- Manticoresearch.UpdateResponse
Documentation for Authorization
Endpoints do not require authorization.