Skip to content

Commit 2c784d9

Browse files
committed
incorporate reviewer feedback
1 parent 471b5c9 commit 2c784d9

File tree

7 files changed

+109
-107
lines changed

7 files changed

+109
-107
lines changed

search-website-functions-v4/api-v4/requirements.txt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
# The Python Worker is managed by Azure Functions platform
33
# Manually managing azure-functions-worker may cause unexpected issues
44

5-
azure-common==1.1.28
6-
azure-core==1.29.4
7-
azure-functions==1.17.0
8-
azure-search-documents==11.3.0
9-
certifi==2023.7.22
10-
chardet==5.2.0
11-
charset-normalizer==3.2.0
12-
idna==3.4
13-
isodate==0.6.1
14-
msrest==0.7.1
15-
oauthlib==3.2.2
16-
requests==2.31.0
17-
requests-oauthlib==1.3.1
18-
six==1.16.0
19-
typing_extensions==4.8.0
20-
urllib3==2.0.4
5+
azure-common==1.1.28,<2.0.0
6+
azure-core==1.29.4,<2.0.0
7+
azure-functions==1.17.0,<2.0.0
8+
azure-search-documents==11.3.0,<12.0.0
9+
certifi==2023.7.22,<2024.0.0
10+
chardet==5.2.0,<6.0.0
11+
charset-normalizer==3.2.0,<4.0.0
12+
idna==3.4,<4.0.0
13+
isodate==0.6.1,<1.0.0
14+
msrest==0.7.1,<1.0.0
15+
oauthlib==3.2.2,<4.0.0
16+
requests==2.31.0,<3.0.0
17+
requests-oauthlib==1.3.1,<2.0.0
18+
six==1.16.0,<2.0.0
19+
typing_extensions==4.8.0,<5.0.0
20+
urllib3==2.0.4,<3.0.0

search-website-functions-v4/api-v4/search.py

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def new_shape(docs):
6060

6161
old_api_shape = list(docs)
6262

63-
count = 0
6463
client_side_expected_shape = []
6564

6665
for item in old_api_shape:
@@ -69,32 +68,32 @@ def new_shape(docs):
6968
new_document["score"] = item["@search.score"]
7069
new_document["highlights"] = item["@search.highlights"]
7170

72-
new_shape = {}
73-
new_shape["id"] = item["id"]
74-
new_shape["goodreads_book_id"] = item["goodreads_book_id"]
75-
new_shape["best_book_id"] = item["best_book_id"]
76-
new_shape["work_id"] = item["work_id"]
77-
new_shape["books_count"] = item["books_count"]
78-
new_shape["isbn"] = item["isbn"]
79-
new_shape["isbn13"] = item["isbn13"]
80-
new_shape["authors"] = item["authors"]
81-
new_shape["original_publication_year"] = item["original_publication_year"]
82-
new_shape["original_title"] = item["original_title"]
83-
new_shape["title"] = item["title"]
84-
new_shape["language_code"] = item["language_code"]
85-
new_shape["average_rating"] = item["average_rating"]
86-
new_shape["ratings_count"] = item["ratings_count"]
87-
new_shape["work_ratings_count"] = item["work_ratings_count"]
88-
new_shape["work_text_reviews_count"] = item["work_text_reviews_count"]
89-
new_shape["ratings_1"] = item["ratings_1"]
90-
new_shape["ratings_2"] = item["ratings_2"]
91-
new_shape["ratings_3"] = item["ratings_3"]
92-
new_shape["ratings_4"] = item["ratings_4"]
93-
new_shape["ratings_5"] = item["ratings_5"]
94-
new_shape["image_url"] = item["image_url"]
95-
new_shape["small_image_url"] = item["small_image_url"]
96-
97-
new_document["document"] = new_shape
71+
new_api_shape = {}
72+
new_api_shape["id"] = item["id"]
73+
new_api_shape["goodreads_book_id"] = item["goodreads_book_id"]
74+
new_api_shape["best_book_id"] = item["best_book_id"]
75+
new_api_shape["work_id"] = item["work_id"]
76+
new_api_shape["books_count"] = item["books_count"]
77+
new_api_shape["isbn"] = item["isbn"]
78+
new_api_shape["isbn13"] = item["isbn13"]
79+
new_api_shape["authors"] = item["authors"]
80+
new_api_shape["original_publication_year"] = item["original_publication_year"]
81+
new_api_shape["original_title"] = item["original_title"]
82+
new_api_shape["title"] = item["title"]
83+
new_api_shape["language_code"] = item["language_code"]
84+
new_api_shape["average_rating"] = item["average_rating"]
85+
new_api_shape["ratings_count"] = item["ratings_count"]
86+
new_api_shape["work_ratings_count"] = item["work_ratings_count"]
87+
new_api_shape["work_text_reviews_count"] = item["work_text_reviews_count"]
88+
new_api_shape["ratings_1"] = item["ratings_1"]
89+
new_api_shape["ratings_2"] = item["ratings_2"]
90+
new_api_shape["ratings_3"] = item["ratings_3"]
91+
new_api_shape["ratings_4"] = item["ratings_4"]
92+
new_api_shape["ratings_5"] = item["ratings_5"]
93+
new_api_shape["image_url"] = item["image_url"]
94+
new_api_shape["small_image_url"] = item["small_image_url"]
95+
96+
new_document["document"] = new_api_shape
9897

9998
client_side_expected_shape.append(new_document)
10099

@@ -115,9 +114,9 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
115114
facets = environment_vars["search_facets"]
116115
facetKeys = read_facets(facets)
117116

118-
filter = ""
117+
search_filter = ""
119118
if len(filters):
120-
filter = create_filter_expression(filters, facetKeys)
119+
search_filter = create_filter_expression(filters, facetKeys)
121120

122121
if q:
123122
logging.info(f"/Search q = {q}")
@@ -127,13 +126,11 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
127126
top=top,
128127
skip=skip,
129128
facets=facetKeys,
130-
filter=filter,
129+
filter=search_filter,
131130
include_total_count=True,
132131
)
133132

134133
returned_docs = new_shape(search_results)
135-
returned_count = search_results.get_count()
136-
returned_facets = search_results.get_facets()
137134

138135
# format the React app expects
139136
full_response = {}

search-website-functions-v4/api-v4/suggest.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
3232
# variables sent in body
3333
req_body = req.get_json()
3434
q = req_body.get("q")
35-
top = req_body.get("top")
36-
suggester = req_body.get("suggester")
35+
top = req_body.get("top") or 5
36+
suggester = req_body.get("suggester") or "sg"
3737

3838
if q:
39-
logging.info(f"/Suggest q = {q}")
40-
suggestions = search_client.suggest(search_text=q, suggester_name="sg", top=5)
39+
logging.info("/Suggest q = %s", q)
40+
suggestions = search_client.suggest(search_text=q, suggester_name=suggester, top=top)
4141

4242
# format the React app expects
4343
full_response = {}
4444
full_response["suggestions"] = suggestions
45-
print(suggestions)
45+
logging.debug(suggestions)
4646

4747
return func.HttpResponse(
4848
body=json.dumps(full_response), mimetype="application/json", status_code=200

search-website-functions-v4/api/requirements.txt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
# The Python Worker is managed by Azure Functions platform
33
# Manually managing azure-functions-worker may cause unexpected issues
44

5-
azure-common==1.1.28
6-
azure-core==1.26.0
7-
azure-functions==1.17.0
8-
azure-search-documents==11.3.0
9-
certifi==2022.12.7
10-
chardet==5.0.0
11-
charset-normalizer==2.1.1
12-
idna==3.4
13-
isodate==0.6.1
14-
msrest==0.7.1
15-
oauthlib==3.2.2
16-
requests==2.31.0
17-
requests-oauthlib==1.3.1
18-
six==1.16.0
19-
typing_extensions==4.4.0
20-
urllib3==1.26.12
5+
azure-common==1.1.28,<2.0.0
6+
azure-core==1.29.4,<2.0.0
7+
azure-functions==1.17.0,<2.0.0
8+
azure-search-documents==11.3.0,<12.0.0
9+
certifi==2023.7.22,<2024.0.0
10+
chardet==5.2.0,<6.0.0
11+
charset-normalizer==3.2.0,<4.0.0
12+
idna==3.4,<4.0.0
13+
isodate==0.6.1,<1.0.0
14+
msrest==0.7.1,<1.0.0
15+
oauthlib==3.2.2,<4.0.0
16+
requests==2.31.0,<3.0.0
17+
requests-oauthlib==1.3.1,<2.0.0
18+
six==1.16.0,<2.0.0
19+
typing_extensions==4.8.0,<5.0.0
20+
urllib3==2.0.4,<3.0.0

search-website-functions-v4/api/search.py

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def new_shape(docs):
6060

6161
old_api_shape = list(docs)
6262

63-
count = 0
6463
client_side_expected_shape = []
6564

6665
for item in old_api_shape:
@@ -69,32 +68,32 @@ def new_shape(docs):
6968
new_document["score"] = item["@search.score"]
7069
new_document["highlights"] = item["@search.highlights"]
7170

72-
new_shape = {}
73-
new_shape["id"] = item["id"]
74-
new_shape["goodreads_book_id"] = item["goodreads_book_id"]
75-
new_shape["best_book_id"] = item["best_book_id"]
76-
new_shape["work_id"] = item["work_id"]
77-
new_shape["books_count"] = item["books_count"]
78-
new_shape["isbn"] = item["isbn"]
79-
new_shape["isbn13"] = item["isbn13"]
80-
new_shape["authors"] = item["authors"]
81-
new_shape["original_publication_year"] = item["original_publication_year"]
82-
new_shape["original_title"] = item["original_title"]
83-
new_shape["title"] = item["title"]
84-
new_shape["language_code"] = item["language_code"]
85-
new_shape["average_rating"] = item["average_rating"]
86-
new_shape["ratings_count"] = item["ratings_count"]
87-
new_shape["work_ratings_count"] = item["work_ratings_count"]
88-
new_shape["work_text_reviews_count"] = item["work_text_reviews_count"]
89-
new_shape["ratings_1"] = item["ratings_1"]
90-
new_shape["ratings_2"] = item["ratings_2"]
91-
new_shape["ratings_3"] = item["ratings_3"]
92-
new_shape["ratings_4"] = item["ratings_4"]
93-
new_shape["ratings_5"] = item["ratings_5"]
94-
new_shape["image_url"] = item["image_url"]
95-
new_shape["small_image_url"] = item["small_image_url"]
96-
97-
new_document["document"] = new_shape
71+
new_api_shape = {}
72+
new_api_shape["id"] = item["id"]
73+
new_api_shape["goodreads_book_id"] = item["goodreads_book_id"]
74+
new_api_shape["best_book_id"] = item["best_book_id"]
75+
new_api_shape["work_id"] = item["work_id"]
76+
new_api_shape["books_count"] = item["books_count"]
77+
new_api_shape["isbn"] = item["isbn"]
78+
new_api_shape["isbn13"] = item["isbn13"]
79+
new_api_shape["authors"] = item["authors"]
80+
new_api_shape["original_publication_year"] = item["original_publication_year"]
81+
new_api_shape["original_title"] = item["original_title"]
82+
new_api_shape["title"] = item["title"]
83+
new_api_shape["language_code"] = item["language_code"]
84+
new_api_shape["average_rating"] = item["average_rating"]
85+
new_api_shape["ratings_count"] = item["ratings_count"]
86+
new_api_shape["work_ratings_count"] = item["work_ratings_count"]
87+
new_api_shape["work_text_reviews_count"] = item["work_text_reviews_count"]
88+
new_api_shape["ratings_1"] = item["ratings_1"]
89+
new_api_shape["ratings_2"] = item["ratings_2"]
90+
new_api_shape["ratings_3"] = item["ratings_3"]
91+
new_api_shape["ratings_4"] = item["ratings_4"]
92+
new_api_shape["ratings_5"] = item["ratings_5"]
93+
new_api_shape["image_url"] = item["image_url"]
94+
new_api_shape["small_image_url"] = item["small_image_url"]
95+
96+
new_document["document"] = new_api_shape
9897

9998
client_side_expected_shape.append(new_document)
10099

@@ -115,9 +114,9 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
115114
facets = environment_vars["search_facets"]
116115
facetKeys = read_facets(facets)
117116

118-
filter = ""
117+
search_filter = ""
119118
if len(filters):
120-
filter = create_filter_expression(filters, facetKeys)
119+
search_filter = create_filter_expression(filters, facetKeys)
121120

122121
if q:
123122
logging.info(f"/Search q = {q}")
@@ -127,13 +126,11 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
127126
top=top,
128127
skip=skip,
129128
facets=facetKeys,
130-
filter=filter,
129+
filter=search_filter,
131130
include_total_count=True,
132131
)
133132

134133
returned_docs = new_shape(search_results)
135-
returned_count = search_results.get_count()
136-
returned_facets = search_results.get_facets()
137134

138135
# format the React app expects
139136
full_response = {}

search-website-functions-v4/api/suggest.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ def main(req: func.HttpRequest) -> func.HttpResponse:
3232
# variables sent in body
3333
req_body = req.get_json()
3434
q = req_body.get("q")
35-
top = req_body.get("top")
36-
suggester = req_body.get("suggester")
35+
top = req_body.get("top") or 5
36+
suggester = req_body.get("suggester") or "sg"
3737

3838
if q:
39-
logging.info(f"/Suggest q = {q}")
40-
suggestions = search_client.suggest(search_text=q, suggester_name="sg", top=5)
39+
logging.info("/Suggest q = %s", q)
40+
suggestions = search_client.suggest(search_text=q, suggester_name=suggester, top=top)
4141

4242
# format the React app expects
4343
full_response = {}
4444
full_response["suggestions"] = suggestions
45-
print(suggestions)
45+
logging.debug(suggestions)
4646

4747
return func.HttpResponse(
4848
body=json.dumps(full_response), mimetype="application/json", status_code=200

search-website-functions-v4/test-requests/test-requests.http

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ content-type: application/json
2727

2828
{
2929
"q":"w",
30-
"top":5,
30+
"top":8,
3131
"suggester":"sg"
32+
}
33+
34+
### suggest
35+
POST http://localhost:7071/api/suggest
36+
content-type: application/json
37+
38+
{
39+
"q":"w"
3240
}

0 commit comments

Comments
 (0)