swiftype-enterprise

A Deprecated API client for Swiftype Enterprise Search. Use elastic_enterprise_search instead.


Keywords
swiftype, enterprise, search, api, api-client, elastic, elastic-enterprise-search, elastic-workplace-search, python, python-client
License
MIT
Install
pip install swiftype-enterprise==1.0.0

Documentation

GitHub Actions

A first-party Python client for Elastic Workplace Search.

Contents


Getting started 🐣

Supports Python 2.7 and Python 3.4+.

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

Depends on requests for making HTTP requests.

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...

License 📗

Apache 2.0 © Elastic

Thank you to all the contributors!