Python client for sonic search backend.
pip install sonic-client
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")
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"))
from sonic import ControlClient with ControlClient("127.0.0.1", 1491, "password") as controlcl: print(controlcl.ping()) controlcl.trigger("consolidate")
API documentation can be found at docs/api and also Browsable
asonic uses asyncio and this client doesn't. It grew out of needing to use sonic within gevent context