@@ -2,7 +2,7 @@ openapi: 3.0.3
2
2
info :
3
3
title : Typesense API
4
4
description : " An open source search engine for building delightful search experiences."
5
- version : ' 27 .0'
5
+ version : ' 28 .0'
6
6
externalDocs :
7
7
description : Find out more about Typsesense
8
8
url : https://typesense.org
28
28
description : Typesense can aggregate search queries for both analytics purposes and for query suggestions.
29
29
externalDocs :
30
30
description : Find out more
31
- url : https://typesense.org/docs/26 .0/api/analytics-query-suggestions.html
31
+ url : https://typesense.org/docs/28 .0/api/analytics-query-suggestions.html
32
32
- name : keys
33
33
description : Manage API Keys with fine-grain access control
34
34
externalDocs :
@@ -40,27 +40,32 @@ tags:
40
40
description : Manage Typesense cluster
41
41
externalDocs :
42
42
description : Find out more
43
- url : https://typesense.org/docs/26 .0/api/cluster-operations.html
43
+ url : https://typesense.org/docs/28 .0/api/cluster-operations.html
44
44
- name : stopwords
45
45
description : Manage stopwords sets
46
46
externalDocs :
47
47
description : Find out more
48
- url : https://typesense.org/docs/26 .0/api/stopwords.html
48
+ url : https://typesense.org/docs/28 .0/api/stopwords.html
49
49
- name : presets
50
50
description : Store and reference search parameters
51
51
externalDocs :
52
52
description : Find out more
53
- url : https://typesense.org/docs/26 .0/api/search.html#presets
53
+ url : https://typesense.org/docs/28 .0/api/search.html#presets
54
54
- name : conversations
55
55
description : Conversational Search (RAG)
56
56
externalDocs :
57
57
description : Find out more
58
- url : https://typesense.org/docs/27 .0/api/conversational-search-rag.html
58
+ url : https://typesense.org/docs/28 .0/api/conversational-search-rag.html
59
59
- name : synonyms
60
60
description : Manage synonyms
61
61
externalDocs :
62
62
description : Find out more
63
- url : https://typesense.org/docs/27.0/api/synonyms.html
63
+ url : https://typesense.org/docs/28.0/api/synonyms.html
64
+ - name : stemming
65
+ description : Manage stemming dictionaries
66
+ externalDocs :
67
+ description : Find out more
68
+ url : https://typesense.org/docs/28.0/api/stemming.html
64
69
paths :
65
70
/collections :
66
71
get :
@@ -357,6 +362,9 @@ paths:
357
362
type : integer
358
363
ignore_not_found :
359
364
type : boolean
365
+ truncate :
366
+ description : When true, removes all documents from the collection while preserving the collection and its schema.
367
+ type : boolean
360
368
responses :
361
369
' 200 ' :
362
370
description : Documents successfully deleted
@@ -1263,6 +1271,22 @@ paths:
1263
1271
application/json :
1264
1272
schema :
1265
1273
$ref : " #/components/schemas/HealthStatus"
1274
+ /operations/schema_changes :
1275
+ get :
1276
+ tags :
1277
+ - operations
1278
+ summary : Get the status of in-progress schema change operations
1279
+ description : Returns the status of any ongoing schema change operations. If no schema changes are in progress, returns an empty response.
1280
+ operationId : getSchemaChanges
1281
+ responses :
1282
+ ' 200 ' :
1283
+ description : List of schema changes in progress
1284
+ content :
1285
+ application/json :
1286
+ schema :
1287
+ type : array
1288
+ items :
1289
+ $ref : " #/components/schemas/SchemaChangeStatus"
1266
1290
/operations/snapshot :
1267
1291
post :
1268
1292
tags :
@@ -1742,6 +1766,97 @@ paths:
1742
1766
application/json :
1743
1767
schema :
1744
1768
$ref : ' #/components/schemas/ApiResponse'
1769
+ /stemming/dictionaries :
1770
+ get :
1771
+ tags :
1772
+ - stemming
1773
+ summary : List all stemming dictionaries
1774
+ description : Retrieve a list of all available stemming dictionaries.
1775
+ operationId : listStemmingDictionaries
1776
+ responses :
1777
+ ' 200 ' :
1778
+ description : List of all dictionaries
1779
+ content :
1780
+ application/json :
1781
+ schema :
1782
+ type : object
1783
+ properties :
1784
+ dictionaries :
1785
+ type : array
1786
+ items :
1787
+ type : string
1788
+ example : ["irregular-plurals", "company-terms"]
1789
+
1790
+ /stemming/dictionaries/{dictionaryId} :
1791
+ get :
1792
+ tags :
1793
+ - stemming
1794
+ summary : Retrieve a stemming dictionary
1795
+ description : Fetch details of a specific stemming dictionary.
1796
+ operationId : getStemmingDictionary
1797
+ parameters :
1798
+ - name : dictionaryId
1799
+ in : path
1800
+ description : The ID of the dictionary to retrieve
1801
+ required : true
1802
+ schema :
1803
+ type : string
1804
+ example : irregular-plurals
1805
+ responses :
1806
+ ' 200 ' :
1807
+ description : Stemming dictionary details
1808
+ content :
1809
+ application/json :
1810
+ schema :
1811
+ $ref : " #/components/schemas/StemmingDictionary"
1812
+ ' 404 ' :
1813
+ description : Dictionary not found
1814
+ content :
1815
+ application/json :
1816
+ schema :
1817
+ $ref : " #/components/schemas/ApiResponse"
1818
+
1819
+ /stemming/dictionaries/import :
1820
+ post :
1821
+ tags :
1822
+ - stemming
1823
+ summary : Import a stemming dictionary
1824
+ description : Upload a JSONL file containing word mappings to create or update a stemming dictionary.
1825
+ operationId : importStemmingDictionary
1826
+ parameters :
1827
+ - name : id
1828
+ in : query
1829
+ description : The ID to assign to the dictionary
1830
+ required : true
1831
+ schema :
1832
+ type : string
1833
+ example : irregular-plurals
1834
+ requestBody :
1835
+ description : The JSONL file containing word mappings
1836
+ required : true
1837
+ content :
1838
+ application/json :
1839
+ schema :
1840
+ type : string
1841
+ example : |
1842
+ {"word": "people", "root": "person"}
1843
+ {"word": "children", "root": "child"}
1844
+ responses :
1845
+ ' 200 ' :
1846
+ description : Dictionary successfully imported
1847
+ content :
1848
+ application/octet-stream :
1849
+ schema :
1850
+ type : string
1851
+ example : >
1852
+ {"word": "people", "root": "person"}
1853
+ {"word": "children", "root": "child"}
1854
+ ' 400 ' :
1855
+ description : Bad request, see error message for details
1856
+ content :
1857
+ application/json :
1858
+ schema :
1859
+ $ref : " #/components/schemas/ApiResponse"
1745
1860
components :
1746
1861
schemas :
1747
1862
CollectionSchema :
@@ -1906,6 +2021,33 @@ components:
1906
2021
type : boolean
1907
2022
description : >
1908
2023
Values are stemmed before indexing in-memory. Default: false.
2024
+ stem_dictionary :
2025
+ type : string
2026
+ description : Name of the stemming dictionary to use for this field
2027
+ example : irregular-plurals
2028
+ token_separators :
2029
+ type : array
2030
+ description : >
2031
+ List of symbols or special characters to be used for
2032
+ splitting the text into individual words in addition to space and new-line characters.
2033
+ items :
2034
+ type : string # characters only
2035
+ # Could `enum` be used instead, given it's symbols/special *characters*, e.g.:
2036
+ # enum: ["@", "!", ".", "/", ","]
2037
+ minLength : 1
2038
+ maxLength : 1
2039
+ default : []
2040
+ symbols_to_index :
2041
+ type : array
2042
+ description : >
2043
+ List of symbols or special characters to be indexed.
2044
+ items :
2045
+ type : string # characters only
2046
+ # Could `enum` be used instead, given it's symbols/special *characters*, e.g.:
2047
+ # enum: ["@", "!", ".", "/", ","]
2048
+ minLength : 1
2049
+ maxLength : 1
2050
+ default : []
1909
2051
embed :
1910
2052
type : object
1911
2053
required :
@@ -2353,6 +2495,18 @@ components:
2353
2495
properties :
2354
2496
ok :
2355
2497
type : boolean
2498
+ SchemaChangeStatus :
2499
+ type : object
2500
+ properties :
2501
+ collection :
2502
+ type : string
2503
+ description : Name of the collection being modified
2504
+ validated_docs :
2505
+ type : integer
2506
+ description : Number of documents that have been validated
2507
+ altered_docs :
2508
+ type : integer
2509
+ description : Number of documents that have been altered
2356
2510
SuccessStatus :
2357
2511
type : object
2358
2512
required :
@@ -2527,6 +2681,12 @@ components:
2527
2681
type : string
2528
2682
example : " num_employees:>100 && country: [USA, UK]"
2529
2683
2684
+ max_filter_by_candidates :
2685
+ description :
2686
+ Controls the number of similar words that Typesense considers during fuzzy search
2687
+ on filter_by values. Useful for controlling prefix matches like company_name:Acm*.
2688
+ type : integer
2689
+
2530
2690
sort_by :
2531
2691
description :
2532
2692
A list of numerical fields and their corresponding sort orders
@@ -3218,6 +3378,9 @@ components:
3218
3378
required :
3219
3379
- searches
3220
3380
properties :
3381
+ union :
3382
+ type : boolean
3383
+ description : When true, merges the search results from each search query into a single ordered set of hits.
3221
3384
searches :
3222
3385
type : array
3223
3386
items :
@@ -3234,6 +3397,13 @@ components:
3234
3397
x-typesense-api-key :
3235
3398
type : string
3236
3399
description : A separate search API key for each search within a multi_search request
3400
+ rerank_hybrid_matches :
3401
+ type : boolean
3402
+ description : >
3403
+ When true, computes both text match and vector distance scores for all matches in hybrid search.
3404
+ Documents found only through keyword search will get a vector distance score, and
3405
+ documents found only through vector search will get a text match score.
3406
+ default : false
3237
3407
FacetCounts :
3238
3408
type : object
3239
3409
properties :
@@ -3584,6 +3754,33 @@ components:
3584
3754
id :
3585
3755
type : string
3586
3756
description : An explicit id for the model, otherwise the API will return a response with an auto-generated conversation model id.
3757
+ StemmingDictionary :
3758
+ type : object
3759
+ required :
3760
+ - id
3761
+ - words
3762
+ properties :
3763
+ id :
3764
+ type : string
3765
+ description : Unique identifier for the dictionary
3766
+ example : irregular-plurals
3767
+ words :
3768
+ type : array
3769
+ description : List of word mappings in the dictionary
3770
+ items :
3771
+ type : object
3772
+ required :
3773
+ - word
3774
+ - root
3775
+ properties :
3776
+ word :
3777
+ type : string
3778
+ description : The word form to be stemmed
3779
+ example : people
3780
+ root :
3781
+ type : string
3782
+ description : The root form of the word
3783
+ example : person
3587
3784
securitySchemes :
3588
3785
api_key_header :
3589
3786
type : apiKey
0 commit comments