An API client for Elastic Workplace Search
Project description
A first-party Python client for Elastic Workplace Search.
Contents
Getting started 🐣
Supports Python 2.7 and Python 3.3+.
Depends on futures and requests.
Installed with
pip <http://pypi.python.org/pypi/pip>
:
$ python -m pip install elastic_workplace_search
You can also download and install the project source:
$ python setup.py install
Usage
Creating a new Client
from elastic_workplace_search import Client
authorization_token = 'authorization token'
client = Client(authorization_token)
Retrieve your access token and a content source key after creating your content source.
Change API endpoint
client = Client(authorization_token, "https://your-server.example.com/api/ws/v1")
Custom Source Documents
Document API features are found in the client.documents
module.
Indexing Documents
Indexing a document into a custom content source:
content_source_key = 'content source key'
documents = [
{
'id': '1234',
'url': 'https://github.com/elastic/workplace-search-python',
'title': 'Elastic Workplace Search Official Python Client',
'body': 'A descriptive body, with document contents and metadata'
}
]
client.documents.index_documents(content_source_key, documents)
Deleting Documents
Deleting a document from a custom content source:
content_source_key = 'content source key'
ids = ['1234']
client.documents.delete_documents(content_source_key, ids)
Permissions
Permissions API features are found in the client.permissions
module.
Listing all permissions
content_source_key = 'content source key'
client.permissions.list_all_permissions(content_source_key)
Listing all permissions with paging
content_source_key = 'content source key'
client.permissions.list_all_permissions(content_source_key, size=20, current=2)
Retrieve a User's permissions
content_source_key = 'content source key'
user = 'enterprise_search'
client.permissions.get_user_permissions(content_source_key, user)
Add permissions to a User
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission1']
client.permissions.add_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
Update a User's permissions
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission2']
client.permissions.update_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
Remove permissions from a User
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission2']
client.permissions.remove_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
FAQ 🔮
Where do I report issues with the client?
If something is not working as expected, please open an issue.
Contribute 🚀
We welcome contributors to the project. Before you begin, a couple notes...
- Before opening a pull request, please create an issue to discuss the scope of your proposal.
- Please write simple code and concise documentation, when appropriate.
License 📗
Thank you to all the contributors!
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
Hashes for elastic_workplace_search-0.3.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2311e38ec53ff1f40d8cd94d0da3b2b47f41c6df1422dbd1cda8a8dbb06dfe81 |
|
MD5 | ec8ea197bd6c43b6e07df53a21deb6ed |
|
BLAKE2b-256 | 86c714ede006c42a27d03f62c1e35d756f186043356e2d37dd174d4638b117e5 |