xmonader / python-sonic-client

sonic search backend client in python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

python-sonic-client

Python client for sonic search backend.

Install

pip install sonic-client

Examples

Ingest

from sonic import IngestClient

with IngestClient("127.0.0.1", 1491, "password") as ingestcl:
    print(ingestcl.ping())
    print(ingestcl.protocol)
    print(ingestcl.bufsize)
    ingestcl.push("wiki", "articles", "article-1", "for the love of god hell")
    ingestcl.push("wiki", "articles", "article-2", "for the love of satan heaven")
    ingestcl.push("wiki", "articles", "article-3", "for the love of lorde hello")
    ingestcl.push("wiki", "articles", "article-4", "for the god of loaf helmet")

Search

from sonic import SearchClient

with SearchClient("127.0.0.1", 1491, "password") as querycl:
    print(querycl.ping())
    print(querycl.query("wiki", "articles", "for"))
    print(querycl.query("wiki", "articles", "love"))
    print(querycl.suggest("wiki", "articles", "hell"))

Control

from sonic import ControlClient

with ControlClient("127.0.0.1", 1491, "password") as controlcl:
    print(controlcl.ping())
    controlcl.trigger("consolidate")

API reference

API documentation can be found at docs/api and also Browsable

Difference from asonic

asonic uses asyncio and this client doesn't. It grew out of needing to use sonic within gevent context

About

sonic search backend client in python

License:MIT License


Languages

Language:Python 99.8%Language:Makefile 0.2%