Skip to main content

Manticore Search Client

Project description

Manticore Python 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-python/tree/11.1.0

Requirements.

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
11.1.0 or newer 28.4.4 or newer 3.4 or newer ✅ Fully Compatible
11.0.0 to 11.1.0 28.4.4 or newer 3.4 or newer ⚠️ Partially Compatible
11.0.0 to 11.1.0 17.5.1 to 28.4.4 3.4 or newer ✅ Fully Compatible
11.0.0 to 11.1.0 9.2.14 to 17.5.1 3.4 or newer ⚠️ Partially Compatible
8.0.0 to 11.0.0 17.5.1 or newer 3.4 or newer ⚠️ Partially Compatible
8.0.0 to 11.0.0 9.2.14 to 17.5.1 3.4 or newer ✅ Fully Compatible
6.0.0 to 8.0.0 9.2.14 or newer 3.4 or newer ⚠️ Partially Compatible
6.0.0 to 8.0.0 7.0.0 to 9.2.14 3.4 or newer ✅ Fully Compatible
6.0.0 to 8.0.0 6.2.1 to 7.0.0 3.4 or newer ⚠️ Partially Compatible
3.3.1 to 6.0.0 7.0.0 or newer 3.4 or newer ⚠️ Partially Compatible
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 ⚠️ Partially Compatible
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 ⚠️ Partially Compatible
1.0.5 to 1.0.6 2.5.1 to 4.0.2 2.7 or newer ✅ Fully Compatible

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/manticoresoftware/manticoresearch-python.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/manticoresoftware/manticoresearch-python.git)

Then import the package:

import manticoresearch

Setuptools

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

Getting Started

Please 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)

Documentation for API Endpoints

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
UtilsApi token POST /token Create or rotate a bearer token

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

basicAuth

  • Type: HTTP basic authentication

bearerAuth

  • Type: Bearer authentication

Author

info@manticoresearch.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manticoresearch-11.1.0.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manticoresearch-11.1.0-py3-none-any.whl (126.3 kB view details)

Uploaded Python 3

File details

Details for the file manticoresearch-11.1.0.tar.gz.

File metadata

  • Download URL: manticoresearch-11.1.0.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for manticoresearch-11.1.0.tar.gz
Algorithm Hash digest
SHA256 57e5df5026d980fb3edda49e7a7bd73914c8febafe9ca8ce043857a9cc16a353
MD5 77dbb849a8cbf70347ddf6d788265c0f
BLAKE2b-256 78999baa270bd1d17523547c8cc193fba1ad5659d3240b3defb289662dc885f5

See more details on using hashes here.

File details

Details for the file manticoresearch-11.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for manticoresearch-11.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 557212b7925303ad1940a459f8784c5f48977b81bbee71385472117624e9274b
MD5 c6a2a550d46945c991fb4238b0d363f5
BLAKE2b-256 f052a06e856fda94bad18ad424cc88c8bb7727ff59f1e52624a7c1a854aad87e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page