Skip to content

Commit 288d226

Browse files
[DOC-12432] Document Usage of {"ctl": { "validate" : true }, } for Search Queries (#302)
* [DOC-12432] Clarifying search_after and search_before behaviour, along with sorting and general pagination tips. Adding documentation on the new validate object - in search-request-params and as examples in the simple-search topics. Adding query results to the example in the REST API topic, and expanding on what those results mean. Fixing error in field path in the example full-request. * Add 7.6.4 version labels for validate property --------- Co-authored-by: Sarah Welton <[email protected]>
1 parent 06b71bc commit 288d226

File tree

1 file changed

+3
-48
lines changed

1 file changed

+3
-48
lines changed

modules/search/pages/search-request-params.adoc

Lines changed: 3 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,16 @@ Set the total number of results to return for a single page of search results.
4949

5050
If you provide both the `size` and `limit` properties, the Search Service uses the `size` value.
5151

52-
<<<<<<< HEAD
5352
The Search Service returns the `size` number of results:
5453

5554
* Starting at the offset in the `from` or `offset` property.
5655
* Starting from the key specified in the <<search_after,search_after property>>.
5756
* Starting backward from the key specified in the <<search_before,search_before property>>.
5857
5958
The `size` property is added by default to all Search requests, if not otherwise specified, with a value of `10`.
60-
=======
59+
6160
If you do not provide a `from`, `size`, or other pagination settings in your query, the Search Service defaults to a `size` value of `10` and a `from` value of `0`.
6261
This means the Search Service does not offset results, and returns the first `10` matches to your query.
63-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
6462

6563
|from/offset |Integer |No a|
6664

@@ -69,13 +67,10 @@ Set an offset value to change where pagination starts for search results, based
6967
For example, if you set a `size` value of `5` and a `from` value of `10`, the Search query returns results 11 through 15 on a page.
7068

7169
If you provide both the `from` and `offset` properties, the Search Service uses the `from` value.
72-
73-
<<<<<<< HEAD
74-
The `from` property is added by default to all Search requests, if not otherwise specified, with a value of `0`.
75-
=======
7670
If you do not provide a `from`, `size`, or other pagination settings in your query, the Search Service defaults to a `size` value of `10` and a `from` value of `0`.
7771
This means the Search Service does not offset results, and returns the first `10` matches to your query.
78-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
72+
73+
The `from` property is added by default to all Search requests, if not otherwise specified, with a value of `0`.
7974

8075
|highlight |Object |No a|
8176

@@ -107,11 +102,7 @@ To create an explanation for a search result's score in search results, set `exp
107102

108103
To turn off explanations for search result scoring, set `explain` to `false`.
109104

110-
<<<<<<< HEAD
111105
|[[sort_arr]]sort |Array |No a|
112-
=======
113-
|[[sort-array]]sort |Array |No a|
114-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
115106

116107
Contains an array of strings or JSON objects to set how to sort search results.
117108
By default, the Search Service sorts results based on score values, from highest to lowest.
@@ -141,7 +132,6 @@ To turn on document relevancy scoring in search results, remove the `score` prop
141132

142133
|[[search_after]]search_after |Array |No a|
143134

144-
<<<<<<< HEAD
145135
NOTE: If you use `search_after` in a search request, you can't use `search_before`.
146136
Both properties are included in the example code to show the correct syntax.
147137

@@ -154,27 +144,12 @@ You cannot use `search_after` with numbers or other field data types - if your `
154144
Only result relevancy score values can be entered as strings in the array.
155145

156146
The Search Service starts search result pagination after the document with the values you provide in the array.
157-
=======
158-
NOTE: If you use `search_after` in a search request, you cannot use `search_before`. Both properties are included in the example code to show the correct syntax.
159-
160-
Use `search_after` with `from/offset` and `sort` to control pagination in search results.
161147

162148
For example, if you had a set of 10 documents to sort based on `_id` values of 1-10, with `from` set to `2` and `search_after` set to `8`, documents 9-10 appear on the same page.
163149

164-
You must give a value for each string or JSON object in the `sort` array to the `search_after` array.
165-
The Search Service starts search result pagination after the document with those values.
166-
167-
You must provide the values in the same order that they appear in the `sort` array.
168-
Your `sort` array must force a total order on your search results.
169-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
170-
171-
Use `search_after` to make the memory requirements of deeper page searches more manageable, when compared to using only `from/offset`.
172-
`search_after` lets you start your search results from a specific result, rather than needing to process a number of search results to skip.
173-
174150
To reduce the resource costs of deeper pagination on your Search queries, try to always include your document ID values as the final sort criteria in your <<sort_arr,sort array>>.
175151
Set the `search_after` property to include the values from the last result on your previous page of search results to effectively paginate.
176152

177-
<<<<<<< HEAD
178153
|[[search_before]]search_before |Array |No a|
179154

180155
NOTE: If you use `search_before` in a search request, you can't use `search_after`.
@@ -194,22 +169,6 @@ For example, if you had a set of 10 documents to sort based on `_id` values of 1
194169

195170
To reduce the resource costs of deeper pagination on your Search queries, try to always include your document ID values as the final sort criteria in your <<sort_arr,sort array>>.
196171
Set the `search_before` property to include the values from the last result on your previous page of search results to effectively paginate.
197-
=======
198-
NOTE: If you use `search_before` in a search request, you cannot use `search_after`. Both properties are included in the example code to show the correct syntax.
199-
200-
Use `search_before` with `from/offset` and `sort` to control pagination in search results.
201-
202-
For example, if you had a set of 10 documents to sort based on `_id` values of 1-10, with `from` set to `2` and `search_before` set to `8`, documents 2-6 appear on the same page.
203-
204-
You must give a value for each string or JSON object in the `sort` array to the `search_before` array.
205-
The Search Service starts search result pagination before the document with those values.
206-
207-
You must provide the values in the same order that they appear in the `sort` array.
208-
Your `sort` array must force a total order on your search results.
209-
210-
Use `search_before` to make the memory requirements of deeper page searches more manageable, when compared to using only `from/offset`.
211-
`search_before` lets you start your search results back from a specific result, rather than needing to process a number of search results to skip.
212-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
213172

214173
|[[collections]]collections |Array |No |Contains an array of strings that specify the collections where you want to run the query.
215174

@@ -2290,12 +2249,8 @@ The following `sort` object orders search results by the values in `field1`, the
22902249
include::example$run-search-full-request.jsonc[tag=sort]
22912250
----
22922251

2293-
<<<<<<< HEAD
22942252
This means that if 2 documents have the same value in `field1`, then the Search Service will sort them again based on their `field2` values.
22952253
If they have the same value in `field2`, then sorting will happen again based on each document's score, and then finally the documents' ID values.
2296-
=======
2297-
TIP: For the best results with sorting and page navigation in search results, always include your document ID values (`_id` or `-_id`) as the final sort criteria in your `sort` object.
2298-
>>>>>>> 1385772 ([DOC-10997] Fold in information from fts-pagination to prepare for deleting the page from builds. (#298))
22992254

23002255
The `sort` object can contain the following string values:
23012256

0 commit comments

Comments
 (0)