An API client for Swiftype App Search
Project description
About
A Python client for interacting with Swiftype App Search API.
For more information, go to our official documentation page: https://swiftype.com/documentation/app-search/
Installation
Swiftype App Search Client can be installed with pip:
$ python -m pip install swiftype_app_search
You can also download the project source and run:
$ python setup.py install
Dependencies
Swiftype App Search supports Python 2.7 and Python 3.3+. It depends on requests and PyJWT.
Usage
Instantiating a client
>>> from swiftype_app_search import Client
>>> account_host_key = 'host-c5s2mj'
>>> api_key = 'api-mu75psc5egt9ppzuycnc2mc3'
>>> client = Client(account_host_key, api_key)
Index document
>>> engine_name = 'favorite-videos'
>>> documents = {
'id': 'INscMGmhmX4',
'url': 'https://www.youtube.com/watch?v=INscMGmhmX4',
'title': 'The Original Grumpy Cat',
'body': 'A wonderful video of a magnificent cat.'
}
>>> client.index_document(engine_name, document)
{'id': 'INscMGmhmX4'}
Index documents
>>> engine_name = 'favorite-videos'
>>> documents = [
{
'id': 'INscMGmhmX4',
'url': 'https://www.youtube.com/watch?v=INscMGmhmX4',
'title': 'The Original Grumpy Cat',
'body': 'A wonderful video of a magnificent cat.'
},
{
'id': 'JNDFojsd02',
'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
'title': 'Another Grumpy Cat',
'body': 'A great video of another cool cat.'
}
]
>>> client.index_documents(engine_name, documents)
[{'id': 'INscMGmhmX4', 'errors': []}, {'id': 'JNDFojsd02', 'errors': []}]
Get Documents
>>> engine_name = 'favorite-videos'
>>> client.get_documents(engine_name, ['INscMGmhmX4'])
[{'id': 'INscMGmhmX4','url': 'https://www.youtube.com/watch?v=INscMGmhmX4','title': 'The Original Grumpy Cat','body': 'A wonderful video of a magnificent cat.'}]
Destroy Documents
>>> engine_name = 'favorite-videos'
>>> client.destroy_documents(engine_name, ['INscMGmhmX4'])
[{'id': 'INscMGmhmX4','result': True}]
List Engines
>>> client.list_engines()
[{'name': 'favorite-videos'}, {'name': 'another-engine'}]
Get an Engine
>>> client.get_engine('favorite-videos')
{'name': 'favorite-videos'}
Create an Engine
>>> client.create_engine('favorite-videos')
{'name': 'favorite-videos'}
Destroy an Engine
>>> client.destroy_engine('favorite-videos')
{'deleted': True}
Search
>>> client.search('favorite-videos', 'grumpy cat', {})
{'meta': {'page': {'current': 1, 'total_pages': 1, 'total_results': 2, 'size': 10}, ...}, 'results': [...]}
Create a Signed Search Key
Creating a search key that will only search over the body field.
>>> api_key = 'api-mu75psc5egt9ppzuycnc2mc3'
>>> api_key_name = 'my-api-token'
>>> signed_search_key = Client.create_signed_search_key(api_key, api_key_name, {'search_fields': { 'body': {}}})
>>> client = Client(account_host_key, signed_search_key)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for swiftype_app_search-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f86f4cc4345e2fbe4526f8641897895ff48a0d989adad7d0a10a0ff3fd8e38ea |
|
MD5 | 746c14fe3a0caa74cdce5feb11cdcb45 |
|
BLAKE2b-256 | 3330d31b77fd43540340f0640b9b72c022699725a65167fc88867b1a1043e976 |