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.1

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.1 or newer 28.4.4 or newer 3.4 or newer ✅ Fully Compatible
11.0.0 to 11.1.1 28.4.4 or newer 3.4 or newer ⚠️ Partially Compatible
11.0.0 to 11.1.1 17.5.1 to 28.4.4 3.4 or newer ✅ Fully Compatible
11.0.0 to 11.1.1 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_devel-11.1.1.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_devel-11.1.1-py3-none-any.whl (126.3 kB view details)

Uploaded Python 3

File details

Details for the file manticoresearch_devel-11.1.1.tar.gz.

File metadata

  • Download URL: manticoresearch_devel-11.1.1.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_devel-11.1.1.tar.gz
Algorithm Hash digest
SHA256 089196979e511ea5681d3b1c89d6dc205ab5d74fabc888e5214207c385270310
MD5 69862b4f1bd685b42095f73f82208bb5
BLAKE2b-256 384ede6e93860e5e2e1a1ddabe5ce5504a9c33b1954b6287a3cbaa223af1c820

See more details on using hashes here.

File details

Details for the file manticoresearch_devel-11.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for manticoresearch_devel-11.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b83092edd80fa2e92f3b2e6c63524f6557648c094d8673ec3489342cd9d8287
MD5 154f51cc80034032eb47be669c333566
BLAKE2b-256 a8654e2ac01088fbf37030fc83d95a0801eb54f9e0f03db6194bf0ab12ff04f4

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