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.0.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.0.0 or newer 15.1.0 or newer 3.4 or newer ✅ Fully Compatible
11.0.0 or newer 9.2.14 to 15.1.0 3.4 or newer ⚠️ Partially Compatible
8.0.0 or newer 15.1.0 or newer 3.4 or newer ⚠️ Partially Compatible
8.0.0 or newer 9.2.14 to 15.1.0 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 or newer 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

Documentation For Models

Documentation For Authorization

Endpoints do not require authorization.

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.0.0.tar.gz (51.2 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.0.0-py3-none-any.whl (102.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for manticoresearch-11.0.0.tar.gz
Algorithm Hash digest
SHA256 239cd24de0033033696876f80190dafca9dfca297eb8f0cc1cfacaa7313753a8
MD5 498925fc06a9af7b2544c9a68b345503
BLAKE2b-256 6432c7d1b11c4428f8ae65f138b81fd983a897b4fb41e409fd03264d63477baa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manticoresearch-11.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a8b6764e2f047ac5f4d0b26bd79fd7edeb2aff26d6d72a8bc4d68c8374c5829
MD5 c63c9c309d576344df16123f4adb7f98
BLAKE2b-256 20424bc5951a43e06f434baaa3ba495857e705895de852472982dd79f8ff7865

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