Сlient for Manticore Search.
❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-python/tree/4.0.0
Minimum Manticore Search version is >= 2.5.1 with HTTP protocol enabled.
Manticore Search | manticoresearch-python | Python |
---|---|---|
dev | manticoresearch-devel | >= 3.4 |
>= 6.2.0 | >= 3.3.1 | >= 3.4 |
>= 4.2.1 | >= 2.0.x | >= 3.4 |
>= 4.0.2 < 4.2.1 | >= 1.0.6 | >= 3.4 |
>= 2.5.1 < 4.0.2 | >= 1.0.5 | >= 2.7 |
Install the manticoresearch
package with pip
pip install manticoresearch-devel
Then import the package:
import manticoresearch
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import manticoresearch
Please follow the installation procedure and then run the following:
from __future__ import print_function
import time
import manticoresearch
from manticoresearch import *
from manticoresearch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:9308
# See configuration.py for a list of all supported configuration parameters.
configuration = manticoresearch.Configuration(
host = "http://127.0.0.1:9308"
)
# Enter a context with an instance of the API client
with manticoresearch.ApiClient(configuration) as api_client:
# Create an instance of the IndexApi API class
api_instance = manticoresearch.IndexApi(api_client)
body = "["'{\"insert\": {\"index\": \"test\", \"id\": 1, \"doc\": {\"title\": \"Title 1\"}}},\\n{\"insert\": {\"index\": \"test\", \"id\": 2, \"doc\": {\"title\": \"Title 2\"}}}'"]" # str |
try:
# Bulk index operations
api_response = api_instance.bulk(body)
pprint(api_response)
except ApiException as e:
print("Exception when calling IndexApi->bulk: %s\n" % e)
# Create an instance of the Search API class
api_instance = manticoresearch.SearchApi(api_client)
# Create SearchRequest
search_request = SearchRequest()
search_request.index='test'
search_request.fullltext_filter=QueryFilter('Title 1')
# The example passes only required values which don't have defaults set
try:
# Perform a search
api_response = api_instance.search(search_request)
pprint(api_response)
except manticoresearch.ApiException as e:
print("Exception when calling SearchApi->search: %s\n" % e)
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 |
---|---|---|---|
IndexApi | bulk | POST /bulk | Bulk index operations |
IndexApi | delete | POST /delete | Delete a document in an index |
IndexApi | insert | POST /insert | Create a new document in an index |
IndexApi | replace | POST /replace | Replace new document in an index |
IndexApi | update | POST /update | Update a document in an index |
SearchApi | percolate | POST /pq/{index}/search | Perform reverse search on a percolate index |
SearchApi | search | POST /search | Performs a search on an index |
UtilsApi | sql | POST /sql | Perform SQL requests |
All endpoints do not require authorization.
info@manticoresearch.com