46 Commits

Author SHA1 Message Date
Jason Bosco
171e94f593 Multi search end-point 2021-01-23 07:58:26 -08:00
kishorenc
0577df5e91 Throttle collection loading to prevent CPU saturation. 2020-09-12 18:46:40 +05:30
kishorenc
d3d25768a0 Temporarily disable memory threshold check. 2020-09-12 11:29:36 +05:30
kishorenc
2f21819db0 Use num_memory_shards as parameter name. 2020-08-24 17:58:15 +05:30
kishorenc
09541e5311 Parameterize number of indices per collection. 2020-08-19 12:29:59 +05:30
kishorenc
6e77a9792e Refactor http req handler: prepare for deferred request body access. 2020-08-12 21:42:23 +05:30
kishorenc
22ce33bfbe Allow a threshold for memory limit to be specified. 2020-08-09 12:04:37 +05:30
kishorenc
237f47974a Use batching for imports. 2020-07-25 20:36:05 +05:30
kishorenc
377394e793 Remove search-only-api-key server argument.
The API key generation end-point should be use for generating keys with specific ACL.
2020-05-30 11:09:35 +05:30
kishorenc
1395d74d48 Manage scoped search API keys. 2020-04-30 14:21:39 +05:30
kishorenc
29b4225461 API Key management. 2020-04-27 21:43:24 +05:30
kishorenc
8845917020 Symlink name must not conflict with a collection name. 2020-04-04 21:25:33 +05:30
kishorenc
a52ec80999 Handle presence/absence of snapshot.
Still need to handle import of raw db data into snapshot.
2020-03-15 16:11:29 +05:30
kishorenc
c7eb19ca46 Insist on API key authentication even for search end-point.
Server can be started with a separate `--search-only-api-key` argument for exposing this key on the JS client.
2020-03-06 12:46:49 +05:30
Kishore Nallan
5856263a08 Fix bulk loading during collection init. 2019-05-26 11:05:51 +05:30
Kishore Nallan
ba205222b7 Refactor bulk indexing process. 2019-05-25 22:28:13 +05:30
Kishore Nallan
2f0f3f9c9a Pull index count into configs. 2019-05-14 19:35:15 +05:30
Kishore Nallan
35b7ba720b Store the created timestamp as part of collection metadata. 2018-08-26 16:45:47 +05:30
Kishore Nallan
3275ea877d Refactor - move more implementation code away from headers. 2018-08-03 10:35:07 +05:30
Kishore Nallan
13964b6a57 Allow collections to be symlinked by an alternative name. 2018-07-30 19:48:17 +05:30
Kishore Nallan
ca2c084d86 Rename token_ranking_field to default_sorting_field and make it mandatory. 2018-02-24 12:18:48 +05:30
Kishore Nallan
de80250de9 Extract authentication logic into a separate handler.
It is now possible to define a separate key for search end-point alone as well. This will be used when one needs to call the API directly from Javascript.
2017-12-12 18:10:08 +05:30
Kishore Nallan
0e4517d901 Combine search, facet and sort fields into a single "fields".
1. All numerical fields are added to sort index automatically since that makes logical sense.
2. Search fields to be used as a facet are to have a `facet: true` property - removes duplication.
3. If someone wants to use a faceted field also to search against (rare scenario), then they can duplicate that field without the `facet: true` property.
2017-10-17 21:51:07 +05:30
Kishore Nallan
b2f0ca495d Refactor a couple of methods in collection manager. 2017-09-21 16:55:15 +05:30
Kishore Nallan
9c1a8a2364 Defensive checks against JSON parse failures. 2017-09-21 08:42:07 +05:30
Kishore Nallan
901626652a Make type definitions less verbose.
Use string[] instead of STRING_ARRAY and so on.
2017-09-19 22:01:08 +05:30
Kishore Nallan
6ab58d1839 Added a dispose() method for freeing collection manager's in-memory data. 2017-09-18 12:35:37 +05:30
Kishore Nallan
58bc73312d Replicate deletion of document and dropping of collection. 2017-09-14 22:44:29 +05:30
Kishore Nallan
58a10877ee Basics of background replication.
Supports inserts. Deletion will be tackled next.
2017-09-14 09:58:44 +05:30
Kishore Nallan
6a465a0289 API for fetching all transactions from a given transaction sequence number.
Relying on RocksDB underlying APIs for that. The updates are sent in a Base64 encoding in the JSON response.
2017-08-31 09:42:11 +05:30
Kishore Nallan
916aaf6526 API for fetching a document ID and listing all collections. 2017-07-28 20:39:51 +05:30
Kishore Nallan
be0a222ccb Expose drop colllection API. 2017-07-06 08:45:31 +05:30
Kishore Nallan
c471cd50c3 Implement authentication against an API auth key.
The key should be passed via X-API-KEY HTTP header.
2017-07-04 22:18:47 +05:30
Kishore Nallan
b7bc974b8e Expose token ranking field properly via the API. 2017-05-27 14:02:32 +05:30
Kishore Nallan
a25d2f590d Sort order is required only during query time. 2017-05-14 17:36:48 +05:30
Kishore Nallan
f62247cd32 Make the sort_fields take order of sorting. 2017-05-07 21:33:04 +05:30
Kishore Nallan
a82765277f Typesense API skeleton. 2017-04-28 21:08:45 +05:30
Kishore Nallan
70dda716c5 Parameterize the token ordering field. 2017-03-26 21:26:01 +05:30
Kishore Nallan
7af95e7f22 Refactored the facet implementation and as well as the query interface.
- Facetable and Rankable fields must be defined upfront during collection creation
- During query time, specific rank and facet fields can be mentioned but they should belong to the set declared previously
2017-03-19 19:25:42 +05:30
Kishore Nallan
3ef10b5bb0 Fix ordering of sequence id rocksdb keys. 2017-02-04 21:32:24 +05:30
Kishore Nallan
431fd70fce Fix collection manager tests. 2017-02-02 08:39:01 +05:30
Kishore Nallan
22816ea0a0 Test for dropping a collection. 2017-01-27 06:36:22 -06:00
Kishore Nallan
8475cba007 Minor refactoring of collection manager. 2017-01-26 13:54:30 -06:00
Kishore Nallan
216ac7997a Restore in-memory index on restart. 2017-01-24 22:13:49 -05:00
Kishore Nallan
b7654baa74 Persist collection's next_seq_id. 2017-01-09 22:14:06 +05:30
Kishore Nallan
2f08eca12e Initial sketch for persisting meta information about collections. 2017-01-08 19:47:17 +05:30