diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:27:57 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 07:27:57 +0000 |
commit | 257c272f0d7fe95591369856d60b8f9eb85bbf98 (patch) | |
tree | 1b3322dd99d63161ed80e1ab813af7977bc7dc09 | |
parent | 57c14355321ac52704e267f17572464f8cde1223 (diff) |
automatic import of python-swiftype-app-searchopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-swiftype-app-search.spec | 948 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 950 insertions, 0 deletions
@@ -0,0 +1 @@ +/swiftype_app_search-0.6.2.tar.gz diff --git a/python-swiftype-app-search.spec b/python-swiftype-app-search.spec new file mode 100644 index 0000000..0df0007 --- /dev/null +++ b/python-swiftype-app-search.spec @@ -0,0 +1,948 @@ +%global _empty_manifest_terminate_build 0 +Name: python-swiftype-app-search +Version: 0.6.2 +Release: 1 +Summary: A Deprecated API client for Swiftype App Search - Use new elastic-app-search package instead. +License: MIT +URL: https://github.com/swiftype/swiftype-app-search-python +Source0: https://mirrors.aliyun.com/pypi/web/packages/68/b4/595939b06f0f5cee6d3fdbdda3f2cf3c46d23c9ce2246a6972e3a4e98f02/swiftype_app_search-0.6.2.tar.gz +BuildArch: noarch + + +%description +<p align="center"><img src="https://github.com/swiftype/swiftype-app-search-python/blob/master/logo-app-search.png?raw=true" alt="Elastic App Search Logo"></p> + +> **⚠️ This repository is deprecated ⚠️** +> +> **Please visit [https://github.com/elastic/app-search-python](https://github.com/elastic/app-search-python) for the up to date version. Thank you! - Elastic** + +<p align="center"> +<a href="https://github.com/swiftype/swiftype-app-search-python/releases"><img src="https://img.shields.io/github/release/swiftype/swiftype-app-search-python/all.svg?style=flat-square" alt="GitHub release" /></a></p> + +> A first-party Python client for building excellent, relevant search experiences with [Elastic App Search](https://www.elastic.co/cloud/app-search-service). + +## Contents + ++ [Getting started](#getting-started-) ++ [Dependencies](#dependencies) ++ [Usage](#usage) ++ [Running tests](#running-tests) ++ [FAQ](#faq-) ++ [Contribute](#contribute-) ++ [License](#license-) + +*** + +## Getting started 🐣 + +To install the client, use pip: + +```python +python -m pip install swiftype_app_search +``` + +You can also download the project source and run:: + +```python +python setup.py install +``` + +## Dependencies + ++ Python 2.7 / Python 3.3 ++ [Requests](https://github.com/requests/requests) ++ [PyJWT](https://github.com/jpadilla/pyjwt) + +## Usage + +### Instantiating a client + +```python +>>> from swiftype_app_search import Client +>>> host_identifier = 'host-c5s2mj' +>>> api_key = 'private-mu75psc5egt9ppzuycnc2mc3' +>>> client = Client(host_identifier, api_key) +``` + +### Using with App Search Managed Deploys + +The client can be configured to use a managed deploy by adjusting the `base_endpoint` and `use_https` parameters. Since managed deploys do not rely on a `host_identifier`, it can be omitted. + +```python +>>> from swiftype_app_search import Client +>>> client = Client( + api_key='private-mu75psc5egt9ppzuycnc2mc3', + base_endpoint='localhost:3002/api/as/v1', + use_https=False +) +``` + +### Indexing: Creating or Updating a Single Document + +```python +>>> engine_name = 'favorite-videos' +>>> document = { + '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'} +``` + +### Indexing: Creating or Updating Multiple Documents + +```python +>>> 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': []}] +``` + +### Indexing: Updating documents (Partial Updates) + +```python +>>> engine_name = 'favorite-videos' +>>> documents = [ + { + 'id': 'INscMGmhmX4', + 'title': 'Updated title' + } +] + +>>> client.update_documents(engine_name, documents) +``` + +### Get Documents + +```python +>>> 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.'}] +``` + +### List Documents +```python +>>> engine_name = 'favorite-videos' +>>> client.list_documents(engine_name, current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'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 + +```python +>>> engine_name = 'favorite-videos' +>>> client.destroy_documents(engine_name, ['INscMGmhmX4']) +[{'id': 'INscMGmhmX4','result': True}] +``` + +### Get Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.get_schema(engine_name) +{'name':'text', 'square_km': 'number', 'square_mi': 'text'} +``` + +### Create/Update Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.update_schema(engine_name, {'square_km': 'text'}) +{'square_km': 'text'} +>>> client.update_schema(engine_name, {'square_mi': 'text'}) +{'square_km': 'text', 'square_mi': 'text'} +>>> client.update_schema(engine_name, {'square_km': 'number'}) +{'square_km': 'number', 'square_mi': 'text'} +``` + +### List Engines + +```python +>>> client.list_engines(current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'name': 'favorite-videos'}, {'name': 'another-engine'}] +} +``` + +### Get an Engine + +```python +>>> client.get_engine('favorite-videos') +{'name': 'favorite-videos'} +``` + +### Create an Engine + +```python +>>> client.create_engine('favorite-videos', 'en') +{'name': 'favorite-videos', 'type': 'default', 'language': 'en'} +``` + +### Destroy an Engine + +```python +>>> client.destroy_engine('favorite-videos') +{'deleted': True} +``` + +### Searching + +```python +>>> client.search('favorite-videos', 'grumpy cat', {}) +{'meta': {'page': {'current': 1, 'total_pages': 1, 'total_results': 2, 'size': 10}, ...}, 'results': [...]} +``` + +### Multi-Search + +```python +>>> client.multi_search('favorite-videos', [{ + 'query': 'cat', + 'options': { 'search_fields': { 'title': {} }} +},{ + 'query': 'dog', + 'options': { 'search_fields': { 'body': {} }} +}]) +[{'meta': {...}, 'results': [...]}, {'meta': {...}, 'results': [...]}] +``` + +### Query Suggestion + +```python +>>> client.query_suggestion('favorite-videos', 'cat', { + 'size': 10, + 'types': { + 'documents': { + 'fields': ['title'] + } + } +}) +{'results': {'documents': [{'suggestion': 'cat'}]}, 'meta': {'request_id': '390be384ad5888353e1b32adcfaaf1c9'}} +``` + +### Clickthrough Tracking + +```python +>>> client.click(engine_name, {'query': 'cat', 'document_id': 'INscMGmhmX4'}) +``` + + +### Create a Signed Search Key + +Creating a search key that will only search over the body field. + +```python +>>> api_key = 'private-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(host_identifier, signed_search_key) +``` + +## Running tests + +```python +python setup.py test +``` + +## FAQ 🔮 + +### Where do I report issues with the client? + +If something is not working as expected, please open an [issue](https://github.com/swiftype/swiftype-app-search-python/issues/new). + +### Where can I learn more about App Search? + +Your best bet is to read the [documentation](https://swiftype.com/documentation/app-search). + +### Where else can I go to get help? + +You can checkout the [Elastic App Search community discuss forums](https://discuss.elastic.co/c/app-search). + +## Contribute 🚀 + +We welcome contributors to the project. Before you begin, a couple notes: + ++ Prior to opening a pull request, please create an issue to [discuss the scope of your proposal](https://github.com/swiftype/swiftype-app-search-python/issues). ++ Please write simple code and concise documentation, when appropriate. + +## License 📗 + +[MIT](https://github.com/swiftype/swiftype-app-search-python/blob/master/LICENSE.txt) © [Elastic](https://github.com/elastic) + +Thank you to all the [contributors](https://github.com/swiftype/swiftype-app-search-python/graphs/contributors)! + +%package -n python3-swiftype-app-search +Summary: A Deprecated API client for Swiftype App Search - Use new elastic-app-search package instead. +Provides: python-swiftype-app-search +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-swiftype-app-search +<p align="center"><img src="https://github.com/swiftype/swiftype-app-search-python/blob/master/logo-app-search.png?raw=true" alt="Elastic App Search Logo"></p> + +> **⚠️ This repository is deprecated ⚠️** +> +> **Please visit [https://github.com/elastic/app-search-python](https://github.com/elastic/app-search-python) for the up to date version. Thank you! - Elastic** + +<p align="center"> +<a href="https://github.com/swiftype/swiftype-app-search-python/releases"><img src="https://img.shields.io/github/release/swiftype/swiftype-app-search-python/all.svg?style=flat-square" alt="GitHub release" /></a></p> + +> A first-party Python client for building excellent, relevant search experiences with [Elastic App Search](https://www.elastic.co/cloud/app-search-service). + +## Contents + ++ [Getting started](#getting-started-) ++ [Dependencies](#dependencies) ++ [Usage](#usage) ++ [Running tests](#running-tests) ++ [FAQ](#faq-) ++ [Contribute](#contribute-) ++ [License](#license-) + +*** + +## Getting started 🐣 + +To install the client, use pip: + +```python +python -m pip install swiftype_app_search +``` + +You can also download the project source and run:: + +```python +python setup.py install +``` + +## Dependencies + ++ Python 2.7 / Python 3.3 ++ [Requests](https://github.com/requests/requests) ++ [PyJWT](https://github.com/jpadilla/pyjwt) + +## Usage + +### Instantiating a client + +```python +>>> from swiftype_app_search import Client +>>> host_identifier = 'host-c5s2mj' +>>> api_key = 'private-mu75psc5egt9ppzuycnc2mc3' +>>> client = Client(host_identifier, api_key) +``` + +### Using with App Search Managed Deploys + +The client can be configured to use a managed deploy by adjusting the `base_endpoint` and `use_https` parameters. Since managed deploys do not rely on a `host_identifier`, it can be omitted. + +```python +>>> from swiftype_app_search import Client +>>> client = Client( + api_key='private-mu75psc5egt9ppzuycnc2mc3', + base_endpoint='localhost:3002/api/as/v1', + use_https=False +) +``` + +### Indexing: Creating or Updating a Single Document + +```python +>>> engine_name = 'favorite-videos' +>>> document = { + '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'} +``` + +### Indexing: Creating or Updating Multiple Documents + +```python +>>> 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': []}] +``` + +### Indexing: Updating documents (Partial Updates) + +```python +>>> engine_name = 'favorite-videos' +>>> documents = [ + { + 'id': 'INscMGmhmX4', + 'title': 'Updated title' + } +] + +>>> client.update_documents(engine_name, documents) +``` + +### Get Documents + +```python +>>> 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.'}] +``` + +### List Documents +```python +>>> engine_name = 'favorite-videos' +>>> client.list_documents(engine_name, current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'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 + +```python +>>> engine_name = 'favorite-videos' +>>> client.destroy_documents(engine_name, ['INscMGmhmX4']) +[{'id': 'INscMGmhmX4','result': True}] +``` + +### Get Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.get_schema(engine_name) +{'name':'text', 'square_km': 'number', 'square_mi': 'text'} +``` + +### Create/Update Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.update_schema(engine_name, {'square_km': 'text'}) +{'square_km': 'text'} +>>> client.update_schema(engine_name, {'square_mi': 'text'}) +{'square_km': 'text', 'square_mi': 'text'} +>>> client.update_schema(engine_name, {'square_km': 'number'}) +{'square_km': 'number', 'square_mi': 'text'} +``` + +### List Engines + +```python +>>> client.list_engines(current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'name': 'favorite-videos'}, {'name': 'another-engine'}] +} +``` + +### Get an Engine + +```python +>>> client.get_engine('favorite-videos') +{'name': 'favorite-videos'} +``` + +### Create an Engine + +```python +>>> client.create_engine('favorite-videos', 'en') +{'name': 'favorite-videos', 'type': 'default', 'language': 'en'} +``` + +### Destroy an Engine + +```python +>>> client.destroy_engine('favorite-videos') +{'deleted': True} +``` + +### Searching + +```python +>>> client.search('favorite-videos', 'grumpy cat', {}) +{'meta': {'page': {'current': 1, 'total_pages': 1, 'total_results': 2, 'size': 10}, ...}, 'results': [...]} +``` + +### Multi-Search + +```python +>>> client.multi_search('favorite-videos', [{ + 'query': 'cat', + 'options': { 'search_fields': { 'title': {} }} +},{ + 'query': 'dog', + 'options': { 'search_fields': { 'body': {} }} +}]) +[{'meta': {...}, 'results': [...]}, {'meta': {...}, 'results': [...]}] +``` + +### Query Suggestion + +```python +>>> client.query_suggestion('favorite-videos', 'cat', { + 'size': 10, + 'types': { + 'documents': { + 'fields': ['title'] + } + } +}) +{'results': {'documents': [{'suggestion': 'cat'}]}, 'meta': {'request_id': '390be384ad5888353e1b32adcfaaf1c9'}} +``` + +### Clickthrough Tracking + +```python +>>> client.click(engine_name, {'query': 'cat', 'document_id': 'INscMGmhmX4'}) +``` + + +### Create a Signed Search Key + +Creating a search key that will only search over the body field. + +```python +>>> api_key = 'private-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(host_identifier, signed_search_key) +``` + +## Running tests + +```python +python setup.py test +``` + +## FAQ 🔮 + +### Where do I report issues with the client? + +If something is not working as expected, please open an [issue](https://github.com/swiftype/swiftype-app-search-python/issues/new). + +### Where can I learn more about App Search? + +Your best bet is to read the [documentation](https://swiftype.com/documentation/app-search). + +### Where else can I go to get help? + +You can checkout the [Elastic App Search community discuss forums](https://discuss.elastic.co/c/app-search). + +## Contribute 🚀 + +We welcome contributors to the project. Before you begin, a couple notes: + ++ Prior to opening a pull request, please create an issue to [discuss the scope of your proposal](https://github.com/swiftype/swiftype-app-search-python/issues). ++ Please write simple code and concise documentation, when appropriate. + +## License 📗 + +[MIT](https://github.com/swiftype/swiftype-app-search-python/blob/master/LICENSE.txt) © [Elastic](https://github.com/elastic) + +Thank you to all the [contributors](https://github.com/swiftype/swiftype-app-search-python/graphs/contributors)! + +%package help +Summary: Development documents and examples for swiftype-app-search +Provides: python3-swiftype-app-search-doc +%description help +<p align="center"><img src="https://github.com/swiftype/swiftype-app-search-python/blob/master/logo-app-search.png?raw=true" alt="Elastic App Search Logo"></p> + +> **⚠️ This repository is deprecated ⚠️** +> +> **Please visit [https://github.com/elastic/app-search-python](https://github.com/elastic/app-search-python) for the up to date version. Thank you! - Elastic** + +<p align="center"> +<a href="https://github.com/swiftype/swiftype-app-search-python/releases"><img src="https://img.shields.io/github/release/swiftype/swiftype-app-search-python/all.svg?style=flat-square" alt="GitHub release" /></a></p> + +> A first-party Python client for building excellent, relevant search experiences with [Elastic App Search](https://www.elastic.co/cloud/app-search-service). + +## Contents + ++ [Getting started](#getting-started-) ++ [Dependencies](#dependencies) ++ [Usage](#usage) ++ [Running tests](#running-tests) ++ [FAQ](#faq-) ++ [Contribute](#contribute-) ++ [License](#license-) + +*** + +## Getting started 🐣 + +To install the client, use pip: + +```python +python -m pip install swiftype_app_search +``` + +You can also download the project source and run:: + +```python +python setup.py install +``` + +## Dependencies + ++ Python 2.7 / Python 3.3 ++ [Requests](https://github.com/requests/requests) ++ [PyJWT](https://github.com/jpadilla/pyjwt) + +## Usage + +### Instantiating a client + +```python +>>> from swiftype_app_search import Client +>>> host_identifier = 'host-c5s2mj' +>>> api_key = 'private-mu75psc5egt9ppzuycnc2mc3' +>>> client = Client(host_identifier, api_key) +``` + +### Using with App Search Managed Deploys + +The client can be configured to use a managed deploy by adjusting the `base_endpoint` and `use_https` parameters. Since managed deploys do not rely on a `host_identifier`, it can be omitted. + +```python +>>> from swiftype_app_search import Client +>>> client = Client( + api_key='private-mu75psc5egt9ppzuycnc2mc3', + base_endpoint='localhost:3002/api/as/v1', + use_https=False +) +``` + +### Indexing: Creating or Updating a Single Document + +```python +>>> engine_name = 'favorite-videos' +>>> document = { + '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'} +``` + +### Indexing: Creating or Updating Multiple Documents + +```python +>>> 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': []}] +``` + +### Indexing: Updating documents (Partial Updates) + +```python +>>> engine_name = 'favorite-videos' +>>> documents = [ + { + 'id': 'INscMGmhmX4', + 'title': 'Updated title' + } +] + +>>> client.update_documents(engine_name, documents) +``` + +### Get Documents + +```python +>>> 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.'}] +``` + +### List Documents +```python +>>> engine_name = 'favorite-videos' +>>> client.list_documents(engine_name, current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'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 + +```python +>>> engine_name = 'favorite-videos' +>>> client.destroy_documents(engine_name, ['INscMGmhmX4']) +[{'id': 'INscMGmhmX4','result': True}] +``` + +### Get Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.get_schema(engine_name) +{'name':'text', 'square_km': 'number', 'square_mi': 'text'} +``` + +### Create/Update Schema + +```python +>>> engine_name = 'favorite-videos' +>>> client.update_schema(engine_name, {'square_km': 'text'}) +{'square_km': 'text'} +>>> client.update_schema(engine_name, {'square_mi': 'text'}) +{'square_km': 'text', 'square_mi': 'text'} +>>> client.update_schema(engine_name, {'square_km': 'number'}) +{'square_km': 'number', 'square_mi': 'text'} +``` + +### List Engines + +```python +>>> client.list_engines(current=1, size=20) +{ + 'meta': { + 'page': { + 'current': 1, + 'total_pages': 1, + 'total_results': 2, + 'size': 20 + } + }, + 'results': [{'name': 'favorite-videos'}, {'name': 'another-engine'}] +} +``` + +### Get an Engine + +```python +>>> client.get_engine('favorite-videos') +{'name': 'favorite-videos'} +``` + +### Create an Engine + +```python +>>> client.create_engine('favorite-videos', 'en') +{'name': 'favorite-videos', 'type': 'default', 'language': 'en'} +``` + +### Destroy an Engine + +```python +>>> client.destroy_engine('favorite-videos') +{'deleted': True} +``` + +### Searching + +```python +>>> client.search('favorite-videos', 'grumpy cat', {}) +{'meta': {'page': {'current': 1, 'total_pages': 1, 'total_results': 2, 'size': 10}, ...}, 'results': [...]} +``` + +### Multi-Search + +```python +>>> client.multi_search('favorite-videos', [{ + 'query': 'cat', + 'options': { 'search_fields': { 'title': {} }} +},{ + 'query': 'dog', + 'options': { 'search_fields': { 'body': {} }} +}]) +[{'meta': {...}, 'results': [...]}, {'meta': {...}, 'results': [...]}] +``` + +### Query Suggestion + +```python +>>> client.query_suggestion('favorite-videos', 'cat', { + 'size': 10, + 'types': { + 'documents': { + 'fields': ['title'] + } + } +}) +{'results': {'documents': [{'suggestion': 'cat'}]}, 'meta': {'request_id': '390be384ad5888353e1b32adcfaaf1c9'}} +``` + +### Clickthrough Tracking + +```python +>>> client.click(engine_name, {'query': 'cat', 'document_id': 'INscMGmhmX4'}) +``` + + +### Create a Signed Search Key + +Creating a search key that will only search over the body field. + +```python +>>> api_key = 'private-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(host_identifier, signed_search_key) +``` + +## Running tests + +```python +python setup.py test +``` + +## FAQ 🔮 + +### Where do I report issues with the client? + +If something is not working as expected, please open an [issue](https://github.com/swiftype/swiftype-app-search-python/issues/new). + +### Where can I learn more about App Search? + +Your best bet is to read the [documentation](https://swiftype.com/documentation/app-search). + +### Where else can I go to get help? + +You can checkout the [Elastic App Search community discuss forums](https://discuss.elastic.co/c/app-search). + +## Contribute 🚀 + +We welcome contributors to the project. Before you begin, a couple notes: + ++ Prior to opening a pull request, please create an issue to [discuss the scope of your proposal](https://github.com/swiftype/swiftype-app-search-python/issues). ++ Please write simple code and concise documentation, when appropriate. + +## License 📗 + +[MIT](https://github.com/swiftype/swiftype-app-search-python/blob/master/LICENSE.txt) © [Elastic](https://github.com/elastic) + +Thank you to all the [contributors](https://github.com/swiftype/swiftype-app-search-python/graphs/contributors)! + +%prep +%autosetup -n swiftype_app_search-0.6.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-swiftype-app-search -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.2-1 +- Package Spec generated @@ -0,0 +1 @@ +a1990c34e73f557c08a19dd44ff15095 swiftype_app_search-0.6.2.tar.gz |