С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-asyncio/tree/1.0.0
Minimum Manticore Search version is >= 2.5.1 with HTTP protocol enabled.
| *manticoresearch-python | Manticore Search | Python | Compatibility | 
|---|---|---|---|
| manticoresearch-devel | dev(latest development version) | 3.4 or newer | ✅ Fully Compatible | 
| 8.0.0 or newer | 9.2.14 or newer | 3.4 or newer | ✅ Fully Compatible | 
| 6.0.0 to 8.0.0 | 9.2.14 or newer | 3.4 or newer | |
| 6.0.0 to 8.0.0 | 7.0.0 to 9.2.14 | 3.4 or newer | ✅ Fully Compatible | 
| 6.0.0 or newer | 6.2.1 to 7.0.0 | 3.4 or newer | |
| 3.3.1 to 6.0.0 | 7.0.0 or newer | 3.4 or newer | |
| 3.3.1 to 6.0.0 | 6.2.1 to 7.0.0 | 3.4 or newer | ✅ Fully Compatible | 
| 2.0.0 to 3.3.1 | 6.2.0 or newer | 3.4 or newer | |
| 2.0.0 to 3.3.1 | 4.2.1 to 6.2.0 | 3.4 or newer | ✅ Fully Compatible | 
| 1.0.6 to 2.0.0 | 4.0.2 to 4.2.1 | 3.4 or newer | ✅ Fully Compatible | 
| 1.0.5 to 1.0.6 | 4.0.2 to 4.2.1 | 2.7 or newer | |
| 1.0.5 to 1.0.6 | 2.5.1 to 4.0.2 | 2.7 or newer | ✅ Fully Compatible | 
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/manticoresoftware/manticoresearch-python-asyncio.git(you may need to run pip with root permission: sudo pip install git+https://github.com/manticoresoftware/manticoresearch-python-asyncio.git)
Then import the package:
import manticoresearchInstall 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 manticoresearchPlease follow the installation procedure and then run the following:
import manticoresearch
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 instances of API classes
    indexApi = manticoresearch.IndexApi(api_client)
    searchApi = manticoresearch.SearchApi(api_client)
    utilsApi = manticoresearch.UtilsApi(api_client)
    try:
        # Perform insert and search operations    
        newDoc = {"title" : "Crossbody Bag with Tassel", "price": 19.85}
        insert_request = InsertDocumentRequest(index="products", doc=newDoc)
        indexApi.insert(insert_request)
        
        # Check out the structure of the autocreated 'products' table
        sql_response = utilsApi.sql('DESC products');
        print("The response of UtilsApi->sql:\n")
        pprint(sql_response) 
        newDoc = {"title" : "Pet Hair Remover Glove", "price": 7.99}
        insert_request = InsertDocumentRequest(index="products", doc=newDoc)
        indexApi.insert(insert_request)
        
        query_highlight = Highlight()
        query_highlight.fields = {"title":{}}
        search_query = SearchQuery(query_string="@title bag")
        search_request = SearchRequest(index="products", query=search_query, highlight=query_highlight)
        search_response = searchApi.search(search_request)    
        print("The response of SearchApi->search:\n")
        pprint(search_response)
        # Alternatively, you can pass all request arguments as a complex JSON object        
        indexApi.insert({"index": "products", "doc" : {"title" : "Crossbody Bag with Tassel", "price" : 19.85}})
        indexApi.insert({"index": "products", "doc" : {"title" : "Pet Hair Remover Glove", "price" : 7.99}})
        search_response = searchApi.search({"index": "products", "query": {"query_string": "@title bag"}, "highlight":{"fields":{"title":{}}}})
        print("The response of SearchApi->search:\n")
        pprint(search_response)
    except ApiException as e:
        print("Exception when calling Api method: %s\n" % e)All URIs are relative to http://127.0.0.1:9308
| Class | Method | HTTP request | Description | 
|---|---|---|---|
| IndexApi | bulk | POST /bulk | Bulk table operations | 
| IndexApi | delete | POST /delete | Delete a document in a table | 
| IndexApi | insert | POST /insert | Create a new document in a table | 
| IndexApi | partial_replace | POST /{table}/_update/{id} | Partially replaces a document in a table | 
| IndexApi | replace | POST /replace | Replace new document in a table | 
| IndexApi | update | POST /update | Update a document in a table | 
| SearchApi | autocomplete | POST /autocomplete | Performs an autocomplete search on a table | 
| SearchApi | percolate | POST /pq/{table}/search | Perform reverse search on a percolate table | 
| SearchApi | search | POST /search | Performs a search on a table | 
| UtilsApi | sql | POST /sql | Perform SQL requests | 
- AggComposite
- AggCompositeSource
- AggCompositeTerm
- AggDateHistogram
- AggHistogram
- AggTerms
- Aggregation
- AutocompleteRequest
- BoolFilter
- BulkResponse
- DeleteDocumentRequest
- DeleteResponse
- ErrorResponse
- FulltextFilter
- GeoDistance
- GeoDistanceLocationAnchor
- Highlight
- HighlightFieldOption
- HighlightFields
- HitsHits
- InsertDocumentRequest
- Join
- JoinCond
- JoinOn
- Knn
- KnnQuery
- Match
- MatchAll
- PercolateRequest
- PercolateRequestQuery
- QueryFilter
- Range
- ReplaceDocumentRequest
- ResponseError
- ResponseErrorDetails
- SearchQuery
- SearchRequest
- SearchResponse
- SearchResponseHits
- SourceRules
- SqlObjResponse
- SqlResponse
- SuccessResponse
- UpdateDocumentRequest
- UpdateResponse
Endpoints do not require authorization.