1
1
import json
2
2
import jwt
3
- from .swiftype_request_session import SwiftypeRequestSession
3
+ from .request_session import RequestSession
4
4
from .exceptions import InvalidDocument
5
5
6
6
7
7
class Client :
8
8
9
- SWIFTYPE_APP_SEARCH_BASE_ENDPOINT = 'api.swiftype.com/api/as/v1'
9
+ ELASTIC_APP_SEARCH_BASE_ENDPOINT = 'api.swiftype.com/api/as/v1'
10
10
SIGNED_SEARCH_TOKEN_JWT_ALGORITHM = 'HS256'
11
11
12
12
def __init__ (self , host_identifier = '' , api_key = '' ,
13
- base_endpoint = SWIFTYPE_APP_SEARCH_BASE_ENDPOINT ,
13
+ base_endpoint = ELASTIC_APP_SEARCH_BASE_ENDPOINT ,
14
14
use_https = True ,
15
15
account_host_key = '' # Deprecated - use host_identifier instead
16
16
):
@@ -21,7 +21,7 @@ def __init__(self, host_identifier='', api_key='',
21
21
uri_scheme = 'https' if use_https else 'http'
22
22
host_prefix = host_identifier + '.' if host_identifier else ''
23
23
base_url = "{}://{}{}" .format (uri_scheme , host_prefix , base_endpoint )
24
- self .swiftype_session = SwiftypeRequestSession (self .api_key , base_url )
24
+ self .session = RequestSession (self .api_key , base_url )
25
25
26
26
def get_documents (self , engine_name , document_ids ):
27
27
"""
@@ -33,7 +33,7 @@ def get_documents(self, engine_name, document_ids):
33
33
"""
34
34
endpoint = "engines/{}/documents" .format (engine_name )
35
35
data = json .dumps (document_ids )
36
- return self .swiftype_session .request ('get' , endpoint , data = data )
36
+ return self .session .request ('get' , endpoint , data = data )
37
37
38
38
def list_documents (self , engine_name , current = 1 , size = 20 ):
39
39
"""
@@ -44,12 +44,12 @@ def list_documents(self, engine_name, current=1, size=20):
44
44
:return: List of documemts.
45
45
"""
46
46
data = { 'page' : { 'current' : current , 'size' : size } }
47
- return self .swiftype_session .request ('get' , "engines/{}/documents/list" .format (engine_name ), json = data )
47
+ return self .session .request ('get' , "engines/{}/documents/list" .format (engine_name ), json = data )
48
48
49
49
def index_document (self , engine_name , document ):
50
50
"""
51
51
Create or update a document for an engine. Raises
52
- :class:`~swiftype_app_search .exceptions.InvalidDocument` when the document
52
+ :class:`~elastic_app_search .exceptions.InvalidDocument` when the document
53
53
has processing errors
54
54
55
55
:param engine_name: Name of engine to index documents into.
@@ -79,7 +79,7 @@ def index_documents(self, engine_name, documents):
79
79
endpoint = "engines/{}/documents" .format (engine_name )
80
80
data = json .dumps (documents )
81
81
82
- return self .swiftype_session .request ('post' , endpoint , data = data )
82
+ return self .session .request ('post' , endpoint , data = data )
83
83
84
84
def update_documents (self , engine_name , documents ):
85
85
"""
@@ -93,7 +93,7 @@ def update_documents(self, engine_name, documents):
93
93
endpoint = "engines/{}/documents" .format (engine_name )
94
94
data = json .dumps (documents )
95
95
96
- return self .swiftype_session .request ('patch' , endpoint , data = data )
96
+ return self .session .request ('patch' , endpoint , data = data )
97
97
98
98
def destroy_documents (self , engine_name , document_ids ):
99
99
"""
@@ -105,7 +105,7 @@ def destroy_documents(self, engine_name, document_ids):
105
105
"""
106
106
endpoint = "engines/{}/documents" .format (engine_name )
107
107
data = json .dumps (document_ids )
108
- return self .swiftype_session .request ('delete' , endpoint , data = data )
108
+ return self .session .request ('delete' , endpoint , data = data )
109
109
110
110
def get_schema (self , engine_name ):
111
111
"""
@@ -115,7 +115,7 @@ def get_schema(self, engine_name):
115
115
:return: Schema.
116
116
"""
117
117
endpoint = "engines/{}/schema" .format (engine_name )
118
- return self .swiftype_session .request ('get' , endpoint )
118
+ return self .session .request ('get' , endpoint )
119
119
120
120
def update_schema (self , engine_name , schema ):
121
121
"""
@@ -127,7 +127,7 @@ def update_schema(self, engine_name, schema):
127
127
"""
128
128
endpoint = "engines/{}/schema" .format (engine_name )
129
129
data = json .dumps (schema )
130
- return self .swiftype_session .request ('post' , endpoint , data = data )
130
+ return self .session .request ('post' , endpoint , data = data )
131
131
132
132
def list_engines (self , current = 1 , size = 20 ):
133
133
"""
@@ -139,15 +139,15 @@ def list_engines(self, current=1, size=20):
139
139
name of the engine.
140
140
"""
141
141
data = { 'page' : { 'current' : current , 'size' : size } }
142
- return self .swiftype_session .request ('get' , 'engines' , json = data )
142
+ return self .session .request ('get' , 'engines' , json = data )
143
143
144
144
def get_engine (self , engine_name ):
145
145
"""
146
146
Retrieves an engine by name.
147
147
:param engine_name: Name of an existing engine.
148
148
:return: A dictionary corresponding to the name of the engine.
149
149
"""
150
- return self .swiftype_session .request ('get' , "engines/{}" .format (engine_name ))
150
+ return self .session .request ('get' , "engines/{}" .format (engine_name ))
151
151
152
152
def create_engine (self , engine_name , language = None ):
153
153
"""
@@ -159,7 +159,7 @@ def create_engine(self, engine_name, language=None):
159
159
data = { 'name' : engine_name }
160
160
if language is not None :
161
161
data ['language' ] = language
162
- return self .swiftype_session .request ('post' , 'engines' , json = data )
162
+ return self .session .request ('post' , 'engines' , json = data )
163
163
164
164
def destroy_engine (self , engine_name ):
165
165
"""
@@ -168,7 +168,7 @@ def destroy_engine(self, engine_name):
168
168
:return: A dictionary with a single key of `deleted` and a value of
169
169
True or False.
170
170
"""
171
- return self .swiftype_session .request ('delete' , "engines/{}" .format (engine_name ))
171
+ return self .session .request ('delete' , "engines/{}" .format (engine_name ))
172
172
173
173
def search (self , engine_name , query , options = None ):
174
174
"""
@@ -182,7 +182,7 @@ def search(self, engine_name, query, options=None):
182
182
endpoint = "engines/{}/search" .format (engine_name )
183
183
options = options or {}
184
184
options ['query' ] = query
185
- return self .swiftype_session .request ('get' , endpoint , json = options )
185
+ return self .session .request ('get' , endpoint , json = options )
186
186
187
187
def multi_search (self , engine_name , searches = None ):
188
188
"""
@@ -206,7 +206,7 @@ def build_options_from_search(search):
206
206
options = {
207
207
'queries' : list (map (build_options_from_search , searches ))
208
208
}
209
- return self .swiftype_session .request ('get' , endpoint , json = options )
209
+ return self .session .request ('get' , endpoint , json = options )
210
210
211
211
def query_suggestion (self , engine_name , query , options = None ):
212
212
"""
@@ -220,19 +220,19 @@ def query_suggestion(self, engine_name, query, options=None):
220
220
endpoint = "engines/{}/query_suggestion" .format (engine_name )
221
221
options = options or {}
222
222
options ['query' ] = query
223
- return self .swiftype_session .request ('get' , endpoint , json = options )
223
+ return self .session .request ('get' , endpoint , json = options )
224
224
225
225
def click (self , engine_name , options ):
226
226
"""
227
- Sends a click event to the Swiftype App Search Api, to track a click-through event.
227
+ Sends a click event to the Elastic App Search Api, to track a click-through event.
228
228
See https://swiftype.com/documentation/app-search/ for more details
229
229
on options and return values.
230
230
231
231
:param engine_name: Name of engine to search over.
232
232
:param options: Dict of search options.
233
233
"""
234
234
endpoint = "engines/{}/click" .format (engine_name )
235
- return self .swiftype_session .request_ignore_response ('post' , endpoint , json = options )
235
+ return self .session .request_ignore_response ('post' , endpoint , json = options )
236
236
237
237
238
238
@staticmethod
0 commit comments