Skip to main content

Manticore Search Client

Project description

Manticore Asynchronous 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-asyncio/tree/2.1.0

Requirements.

Minimum Manticore Search version is >= 9.2.14 with HTTP protocol enabled.

*manticoresearch-python Manticore Search Python Compatibility
manticoresearch-asyncio-devel dev (latest development version) 3.4 or newer ✅ Fully Compatible
2.1.0 or newer 28.4.4 or newer 3.4 or newer ✅ Fully Compatible
2.0.0 to 2.1.0 28.4.4 or newer 3.4 or newer ⚠️ Partially Compatible
2.0.0 to 2.1.0 17.5.1 to 28.4.4 3.4 or newer ✅ Fully Compatible
2.0.0 to 2.1.0 9.2.14 to 17.5.1 3.4 or newer ⚠️ Partially Compatible
1.0.0 to 2.0.0 17.5.1 or newer 3.4 or newer ⚠️ Partially Compatible
1.0.0 to 2.0.0 9.2.14 to 17.5.1 3.4 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-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 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_asyncio_devel-2.1.0.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

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

manticoresearch_asyncio_devel-2.1.0-py3-none-any.whl (126.1 kB view details)

Uploaded Python 3

File details

Details for the file manticoresearch_asyncio_devel-2.1.0.tar.gz.

File metadata

File hashes

Hashes for manticoresearch_asyncio_devel-2.1.0.tar.gz
Algorithm Hash digest
SHA256 32100e07bdeac75c7374098f3ac1d96c6e3116ad352435d59bb83e06b12428a8
MD5 629905de2c46b76e274ce7191718d8c5
BLAKE2b-256 75429d7f9f7576a21d59dbdb4d1df3a4f82018b1a8228089e7e2500120164b98

See more details on using hashes here.

File details

Details for the file manticoresearch_asyncio_devel-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for manticoresearch_asyncio_devel-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4066436b550d40d54d3933700be7c139ed98b8a61a2b4a672e8190ab18714f45
MD5 2bf0549049f6da30d5f9a1d73cfe57a6
BLAKE2b-256 7636906d27ee4360b47630ec43a60ea46a6b7fdef90a24a8e55a4f331b0d0bf1

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