-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathpreprocessed_openapi.yml
More file actions
5244 lines (5244 loc) · 186 KB
/
preprocessed_openapi.yml
File metadata and controls
5244 lines (5244 loc) · 186 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
openapi: 3.0.3
info:
title: Typesense API
description: An open source search engine for building delightful search experiences.
version: '30.0'
license:
name: GPL-3.0
url: https://opensource.org/licenses/GPL-3.0
servers:
- url: '{protocol}://{hostname}:{port}'
description: Typesense Server
variables:
protocol:
default: http
description: The protocol of your Typesense server
hostname:
default: localhost
description: The hostname of your Typesense server
port:
default: '8108'
description: The port of your Typesense server
externalDocs:
description: Find out more about Typsesense
url: https://typesense.org
security:
- api_key_header: []
tags:
- name: collections
description: A collection is defined by a schema
externalDocs:
description: Find out more
url: https://typesense.org/api/#create-collection
- name: documents
description: A document is an individual record to be indexed and belongs to a collection
externalDocs:
description: Find out more
url: https://typesense.org/api/#index-document
- name: analytics
description: Typesense can aggregate search queries for both analytics purposes and for query suggestions.
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/analytics-query-suggestions.html
- name: keys
description: Manage API Keys with fine-grain access control
externalDocs:
description: Find out more
url: https://typesense.org/docs/0.23.0/api/#api-keys
- name: debug
description: Debugging information
- name: operations
description: Manage Typesense cluster
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/cluster-operations.html
- name: stopwords
description: Manage stopwords sets
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/stopwords.html
- name: presets
description: Store and reference search parameters
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/search.html#presets
- name: conversations
description: Conversational Search (RAG)
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/conversational-search-rag.html
- name: synonyms
description: Manage synonyms
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/synonyms.html
- name: curation_sets
description: Manage curation sets
- name: stemming
description: Manage stemming dictionaries
externalDocs:
description: Find out more
url: https://typesense.org/docs/28.0/api/stemming.html
- name: nl_search_models
description: Manage NL search models
externalDocs:
description: Find out more
url: https://typesense.org/docs/29.0/api/natural-language-search.html
paths:
/collections:
get:
tags:
- collections
summary: List all collections
description: Returns a summary of all your collections. The collections are returned sorted by creation date, with the most recent collections appearing first.
operationId: getCollections
parameters:
- name: exclude_fields
in: query
schema:
type: string
description: Comma-separated list of fields from the collection to exclude from the response
- name: limit
in: query
schema:
type: integer
description: |
Number of collections to fetch. Default: returns all collections.
- name: offset
in: query
schema:
type: integer
description: Identifies the starting point to return collections when paginating.
responses:
'200':
description: List of all collections
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CollectionResponse'
x-go-type: '[]*CollectionResponse'
x-rust-has-lifetime: true
post:
tags:
- collections
summary: Create a new collection
description: When a collection is created, we give it a name and describe the fields that will be indexed from the documents added to the collection.
operationId: createCollection
requestBody:
required: true
description: The collection object to be created
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionSchema'
x-rust-has-lifetime: true
x-rust-has-lifetime: true
responses:
'201':
description: Collection successfully created
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionResponse'
'400':
description: Bad request, see error message for details
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'409':
description: Collection already exists
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
/collections/{collectionName}:
get:
tags:
- collections
summary: Retrieve a single collection
description: Retrieve the details of a collection, given its name.
operationId: getCollection
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to retrieve
schema:
type: string
responses:
'200':
description: Collection fetched
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionResponse'
'404':
description: Collection not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
patch:
tags:
- collections
summary: Update a collection
description: Update a collection's schema to modify the fields and their types.
operationId: updateCollection
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to update
schema:
type: string
requestBody:
required: true
description: The document object with fields to be updated
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionUpdateSchema'
responses:
'200':
description: The updated partial collection schema
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionUpdateSchema'
'400':
description: Bad request, see error message for details
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'404':
description: The collection was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
delete:
tags:
- collections
summary: Delete a collection
description: Permanently drops a collection. This action cannot be undone. For large collections, this might have an impact on read latencies.
operationId: deleteCollection
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to delete
schema:
type: string
responses:
'200':
description: Collection deleted
content:
application/json:
schema:
$ref: '#/components/schemas/CollectionResponse'
'404':
description: Collection not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
/collections/{collectionName}/documents:
post:
tags:
- documents
summary: Index a document
description: A document to be indexed in a given collection must conform to the schema of the collection.
operationId: indexDocument
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to add the document to
schema:
type: string
- name: action
in: query
description: Additional action to perform
schema:
type: string
example: upsert
$ref: '#/components/schemas/IndexAction'
- name: dirty_values
in: query
description: Dealing with Dirty Data
schema:
$ref: '#/components/schemas/DirtyValues'
requestBody:
required: true
description: The document object to be indexed
content:
application/json:
schema:
type: object
description: Can be any key-value pair
x-go-type: interface{}
responses:
'201':
description: Document successfully created/indexed
content:
application/json:
schema:
type: object
description: Can be any key-value pair
'404':
description: Collection not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
patch:
tags:
- documents
summary: Update documents with conditional query
description: The filter_by query parameter is used to filter to specify a condition against which the documents are matched. The request body contains the fields that should be updated for any documents that match the filter condition. This endpoint is only available if the Typesense server is version `0.25.0.rc12` or later.
operationId: updateDocuments
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to update documents in
schema:
type: string
- name: filter_by
in: query
schema:
type: string
example: 'num_employees:>100 && country: [USA, UK]'
requestBody:
required: true
description: The document fields to be updated
content:
application/json:
schema:
type: object
description: Can be any key-value pair
x-go-type: interface{}
x-rust-params-generic-parameter: B
x-rust-type: B
responses:
'200':
description: The response contains a single field, `num_updated`, indicating the number of documents affected.
content:
application/json:
schema:
type: object
required:
- num_updated
properties:
num_updated:
type: integer
description: The number of documents that have been updated
example: 1
'400':
description: Bad request, see error message for details
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'404':
description: The collection was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-generic-parameter: 'B: Serialize'
x-rust-has-lifetime: true
delete:
tags:
- documents
summary: Delete a bunch of documents
description: Delete a bunch of documents that match a specific filter condition. Use the `batch_size` parameter to control the number of documents that should deleted at a time. A larger value will speed up deletions, but will impact performance of other operations running on the server.
operationId: deleteDocuments
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to delete documents from
schema:
type: string
- name: filter_by
in: query
schema:
type: string
example: 'num_employees:>100 && country: [USA, UK]'
- name: batch_size
in: query
schema:
type: integer
description: Batch size parameter controls the number of documents that should be deleted at a time. A larger value will speed up deletions, but will impact performance of other operations running on the server.
- name: ignore_not_found
in: query
schema:
type: boolean
- name: truncate
in: query
schema:
type: boolean
description: When true, removes all documents from the collection while preserving the collection and its schema.
responses:
'200':
description: Documents successfully deleted
content:
application/json:
schema:
type: object
required:
- num_deleted
properties:
num_deleted:
type: integer
'404':
description: Collection not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
/collections/{collectionName}/documents/search:
get:
tags:
- documents
summary: Search for documents in a collection
description: Search for documents in a collection that match the search criteria.
operationId: searchCollection
parameters:
- name: collectionName
required: true
in: path
description: The name of the collection to search for the document under
schema:
type: string
- name: q
in: query
schema:
type: string
description: The query text to search for in the collection. Use * as the search string to return all documents. This is typically useful when used in conjunction with filter_by.
- name: query_by
in: query
schema:
type: string
description: A list of `string` fields that should be queried against. Multiple fields are separated with a comma.
- name: nl_query
in: query
schema:
type: boolean
description: Whether to use natural language processing to parse the query.
- name: nl_model_id
in: query
schema:
type: string
description: The ID of the natural language model to use.
- name: query_by_weights
in: query
schema:
type: string
description: The relative weight to give each `query_by` field when ranking results. This can be used to boost fields in priority, when looking for matches. Multiple fields are separated with a comma.
- name: text_match_type
in: query
schema:
type: string
description: In a multi-field matching context, this parameter determines how the representative text match score of a record is calculated. Possible values are max_score (default) or max_weight.
- name: prefix
in: query
schema:
type: string
description: Boolean field to indicate that the last word in the query should be treated as a prefix, and not as a whole word. This is used for building autocomplete and instant search interfaces. Defaults to true.
- name: infix
in: query
schema:
type: string
description: If infix index is enabled for this field, infix searching can be done on a per-field basis by sending a comma separated string parameter called infix to the search query. This parameter can have 3 values; `off` infix search is disabled, which is default `always` infix search is performed along with regular search `fallback` infix search is performed if regular search does not produce results
- name: max_extra_prefix
in: query
schema:
type: integer
description: There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match.
- name: max_extra_suffix
in: query
schema:
type: integer
description: There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match.
- name: filter_by
in: query
schema:
type: string
description: Filter conditions for refining your open api validator search results. Separate multiple conditions with &&.
example: 'num_employees:>100 && country: [USA, UK]'
- name: max_filter_by_candidates
in: query
schema:
type: integer
description: Controls the number of similar words that Typesense considers during fuzzy search on filter_by values. Useful for controlling prefix matches like company_name:Acm*.
- name: sort_by
in: query
schema:
type: string
description: A list of numerical fields and their corresponding sort orders that will be used for ordering your results. Up to 3 sort fields can be specified. The text similarity score is exposed as a special `_text_match` field that you can use in the list of sorting fields. If no `sort_by` parameter is specified, results are sorted by `_text_match:desc,default_sorting_field:desc`
example: num_employees:desc
- name: facet_by
in: query
schema:
type: string
description: A list of fields that will be used for faceting your results on. Separate multiple fields with a comma.
- name: max_facet_values
in: query
schema:
type: integer
description: Maximum number of facet values to be returned.
- name: facet_query
in: query
schema:
type: string
description: Facet values that are returned can now be filtered via this parameter. The matching facet text is also highlighted. For example, when faceting by `category`, you can set `facet_query=category:shoe` to return only facet values that contain the prefix "shoe".
- name: num_typos
in: query
schema:
type: string
description: |
The number of typographical errors (1 or 2) that would be tolerated. Default: 2
- name: page
in: query
schema:
type: integer
description: Results from this specific page number would be fetched.
- name: per_page
in: query
schema:
type: integer
description: 'Number of results to fetch per page. Default: 10'
- name: limit
in: query
schema:
type: integer
description: |
Number of hits to fetch. Can be used as an alternative to the per_page parameter. Default: 10.
- name: offset
in: query
schema:
type: integer
description: Identifies the starting point to return hits from a result set. Can be used as an alternative to the page parameter.
- name: group_by
in: query
schema:
type: string
description: You can aggregate search results into groups or buckets by specify one or more `group_by` fields. Separate multiple fields with a comma. To group on a particular field, it must be a faceted field.
- name: group_limit
in: query
schema:
type: integer
description: |
Maximum number of hits to be returned for every group. If the `group_limit` is set as `K` then only the top K hits in each group are returned in the response. Default: 3
- name: group_missing_values
in: query
schema:
type: boolean
description: |
Setting this parameter to true will place all documents that have a null value in the group_by field, into a single group. Setting this parameter to false, will cause each document with a null value in the group_by field to not be grouped with other documents. Default: true
- name: include_fields
in: query
schema:
type: string
description: List of fields from the document to include in the search result
- name: exclude_fields
in: query
schema:
type: string
description: List of fields from the document to exclude in the search result
- name: highlight_full_fields
in: query
schema:
type: string
description: List of fields which should be highlighted fully without snippeting
- name: highlight_affix_num_tokens
in: query
schema:
type: integer
description: |
The number of tokens that should surround the highlighted text on each side. Default: 4
- name: highlight_start_tag
in: query
schema:
type: string
description: |
The start tag used for the highlighted snippets. Default: `<mark>`
- name: highlight_end_tag
in: query
schema:
type: string
description: |
The end tag used for the highlighted snippets. Default: `</mark>`
- name: enable_highlight_v1
in: query
schema:
type: boolean
default: true
description: |
Flag for enabling/disabling the deprecated, old highlight structure in the response. Default: true
- name: enable_analytics
in: query
schema:
type: boolean
default: true
description: |
Flag for enabling/disabling analytics aggregation for specific search queries (for e.g. those originating from a test script).
- name: snippet_threshold
in: query
schema:
type: integer
description: |
Field values under this length will be fully highlighted, instead of showing a snippet of relevant portion. Default: 30
- name: synonym_sets
in: query
schema:
type: string
description: List of synonym set names to associate with this search query
example: synonym_set_1,synonym_set_2
- name: drop_tokens_threshold
in: query
schema:
type: integer
description: |
If the number of results found for a specific query is less than this number, Typesense will attempt to drop the tokens in the query until enough results are found. Tokens that have the least individual hits are dropped first. Set to 0 to disable. Default: 10
- name: drop_tokens_mode
in: query
schema:
$ref: '#/components/schemas/DropTokensMode'
- name: typo_tokens_threshold
in: query
schema:
type: integer
description: |
If the number of results found for a specific query is less than this number, Typesense will attempt to look for tokens with more typos until enough results are found. Default: 100
- name: enable_typos_for_alpha_numerical_tokens
in: query
schema:
type: boolean
description: |
Set this parameter to false to disable typos on alphanumerical query tokens. Default: true.
- name: filter_curated_hits
in: query
schema:
type: boolean
description: |
Whether the filter_by condition of the search query should be applicable to curated results (override definitions, pinned hits, hidden hits, etc.). Default: false
- name: enable_synonyms
in: query
schema:
type: boolean
description: |
If you have some synonyms defined but want to disable all of them for a particular search query, set enable_synonyms to false. Default: true
- name: synonym_prefix
in: query
schema:
type: boolean
description: |
Allow synonym resolution on word prefixes in the query. Default: false
- name: synonym_num_typos
in: query
schema:
type: integer
description: |
Allow synonym resolution on typo-corrected words in the query. Default: 0
- name: pinned_hits
in: query
schema:
type: string
description: |
A list of records to unconditionally include in the search results at specific positions. An example use case would be to feature or promote certain items on the top of search results. A list of `record_id:hit_position`. Eg: to include a record with ID 123 at Position 1 and another record with ID 456 at Position 5, you'd specify `123:1,456:5`.
You could also use the Overrides feature to override search results based on rules. Overrides are applied first, followed by `pinned_hits` and finally `hidden_hits`.
- name: hidden_hits
in: query
schema:
type: string
description: |
A list of records to unconditionally hide from search results. A list of `record_id`s to hide. Eg: to hide records with IDs 123 and 456, you'd specify `123,456`.
You could also use the Overrides feature to override search results based on rules. Overrides are applied first, followed by `pinned_hits` and finally `hidden_hits`.
- name: override_tags
in: query
schema:
type: string
description: Comma separated list of tags to trigger the curations rules that match the tags.
- name: highlight_fields
in: query
schema:
type: string
description: |
A list of custom fields that must be highlighted even if you don't query for them
- name: split_join_tokens
in: query
schema:
type: string
description: |
Treat space as typo: search for q=basket ball if q=basketball is not found or vice-versa. Splitting/joining of tokens will only be attempted if the original query produces no results. To always trigger this behavior, set value to `always``. To disable, set value to `off`. Default is `fallback`.
- name: pre_segmented_query
in: query
schema:
type: boolean
description: |
You can index content from any logographic language into Typesense if you are able to segment / split the text into space-separated words yourself before indexing and querying.
Set this parameter to true to do the same
- name: preset
in: query
schema:
type: string
description: |
Search using a bunch of search parameters by setting this parameter to the name of the existing Preset.
- name: enable_overrides
in: query
schema:
type: boolean
default: false
description: |
If you have some overrides defined but want to disable all of them during query time, you can do that by setting this parameter to false
- name: prioritize_exact_match
in: query
schema:
type: boolean
default: true
description: |
Set this parameter to true to ensure that an exact match is ranked above the others
- name: max_candidates
in: query
schema:
type: integer
description: |
Control the number of words that Typesense considers for typo and prefix searching.
- name: prioritize_token_position
in: query
schema:
type: boolean
default: false
description: |
Make Typesense prioritize documents where the query words appear earlier in the text.
- name: prioritize_num_matching_fields
in: query
schema:
type: boolean
default: true
description: |
Make Typesense prioritize documents where the query words appear in more number of fields.
- name: enable_typos_for_numerical_tokens
in: query
schema:
type: boolean
default: true
description: |
Make Typesense disable typos for numerical tokens.
- name: exhaustive_search
in: query
schema:
type: boolean
description: |
Setting this to true will make Typesense consider all prefixes and typo corrections of the words in the query without stopping early when enough results are found (drop_tokens_threshold and typo_tokens_threshold configurations are ignored).
- name: search_cutoff_ms
in: query
schema:
type: integer
description: |
Typesense will attempt to return results early if the cutoff time has elapsed. This is not a strict guarantee and facet computation is not bound by this parameter.
- name: use_cache
in: query
schema:
type: boolean
description: |
Enable server side caching of search query results. By default, caching is disabled.
- name: cache_ttl
in: query
schema:
type: integer
description: |
The duration (in seconds) that determines how long the search query is cached. This value can be set on a per-query basis. Default: 60.
- name: min_len_1typo
in: query
schema:
type: integer
description: |
Minimum word length for 1-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos.
- name: min_len_2typo
in: query
schema:
type: integer
description: |
Minimum word length for 2-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos.
- name: vector_query
in: query
schema:
type: string
description: |
Vector query expression for fetching documents "closest" to a given query/document vector.
- name: remote_embedding_timeout_ms
in: query
schema:
type: integer
description: |
Timeout (in milliseconds) for fetching remote embeddings.
- name: remote_embedding_num_tries
in: query
schema:
type: integer
description: |
Number of times to retry fetching remote embeddings.
- name: facet_strategy
in: query
schema:
type: string
description: |
Choose the underlying faceting strategy used. Comma separated string of allows values: exhaustive, top_values or automatic (default).
- name: stopwords
in: query
schema:
type: string
description: |
Name of the stopwords set to apply for this search, the keywords present in the set will be removed from the search query.
- name: facet_return_parent
in: query
schema:
type: string
description: |
Comma separated string of nested facet fields whose parent object should be returned in facet response.
- name: voice_query
in: query
schema:
type: string
description: |
The base64 encoded audio file in 16 khz 16-bit WAV format.
- name: conversation
in: query
schema:
type: boolean
description: |
Enable conversational search.
- name: conversation_model_id
in: query
schema:
type: string
description: |
The Id of Conversation Model to be used.
- name: conversation_id
in: query
schema:
type: string
description: |
The Id of a previous conversation to continue, this tells Typesense to include prior context when communicating with the LLM.
responses:
'200':
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
'400':
description: Bad request, see error message for details
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
'404':
description: The collection or field was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-generic-parameter: 'D: for<''de> serde::Deserialize<''de> + Serialize'
x-rust-return-type: models::SearchResult<D>
x-rust-has-lifetime: true
/synonym_sets:
get:
tags:
- synonyms
summary: List all synonym sets
description: Retrieve all synonym sets
operationId: retrieveSynonymSets
responses:
'200':
description: List of all synonym sets
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SynonymSetSchema'
/synonym_sets/{synonymSetName}:
get:
tags:
- synonyms
summary: Retrieve a synonym set
description: Retrieve a specific synonym set by its name
operationId: retrieveSynonymSet
parameters:
- name: synonymSetName
required: true
in: path
description: The name of the synonym set to retrieve
schema:
type: string
responses:
'200':
description: Synonym set fetched
content:
application/json:
schema:
$ref: '#/components/schemas/SynonymSetSchema'
'404':
description: Synonym set not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
put:
tags:
- synonyms
summary: Create or update a synonym set
description: Create or update a synonym set with the given name
operationId: upsertSynonymSet
parameters:
- name: synonymSetName
required: true
in: path
description: The name of the synonym set to create/update
schema:
type: string
requestBody:
required: true
description: The synonym set to be created/updated
content:
application/json:
schema:
$ref: '#/components/schemas/SynonymSetCreateSchema'
responses:
'200':
description: Synonym set successfully created/updated
content:
application/json:
schema:
$ref: '#/components/schemas/SynonymSetSchema'
'400':
description: Bad request, see error message for details
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
delete:
tags:
- synonyms
summary: Delete a synonym set
description: Delete a specific synonym set by its name
operationId: deleteSynonymSet
parameters:
- name: synonymSetName
required: true
in: path
description: The name of the synonym set to delete
schema:
type: string
responses:
'200':
description: Synonym set successfully deleted
content:
application/json:
schema:
$ref: '#/components/schemas/SynonymSetDeleteSchema'
'404':
description: Synonym set not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
/synonym_sets/{synonymSetName}/items:
get:
tags:
- synonyms
summary: List items in a synonym set
description: Retrieve all synonym items in a set
operationId: retrieveSynonymSetItems
parameters:
- name: synonymSetName
required: true
in: path
description: The name of the synonym set to retrieve items for
schema:
type: string
responses:
'200':
description: List of synonym items
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SynonymItemSchema'
'404':
description: Synonym set not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
x-rust-has-lifetime: true
/synonym_sets/{synonymSetName}/items/{itemId}:
get:
tags:
- synonyms
summary: Retrieve a synonym set item
description: Retrieve a specific synonym item by its id
operationId: retrieveSynonymSetItem