kishorenc
89690101ae
Make route_hash unsigned.
2020-04-01 18:30:06 +05:30
kishorenc
dd290884e5
Remove replication updates API.
2020-03-30 20:51:04 +05:30
kishorenc
3b3d9cfb01
Fix a route ordering issue introduced by using unordered map.
2020-03-26 21:12:17 +05:30
kishorenc
8829c5aebc
Allow customization of peering address.
...
This is an optional argument since Typesense automatically tries to bind on an internal IP. One needs to specify this only when there are multiple internal IPs.
2020-03-26 17:39:42 +05:30
kishorenc
75a1fe1e1d
Use hashmap for storing routes instead of an array.
...
The use of array index makes rolling updates tricky since requests might be forwarded to an instance running an older/newer version having a different route index.
2020-03-26 14:08:06 +05:30
kishorenc
88192820de
Free leaf indices during early return.
2020-03-26 14:05:59 +05:30
kishorenc
d3af2bff39
Drop support for rocksdb based replication.
2020-03-26 08:08:41 +05:30
kishorenc
8bfeeeb2ee
Fix forwarding of delete operations.
2020-03-25 21:31:56 +05:30
kishorenc
901795869d
Fix API server kicking in early before init readiness.
2020-03-25 08:48:01 +05:30
kishorenc
43231eaae3
Only start API service when peering service is stable.
2020-03-23 21:38:41 +05:30
kishorenc
3cb4c3a3b6
Reject writes to a follower when there is no leader.
2020-03-23 19:21:25 +05:30
kishorenc
b16614eb20
Follower should forward write requests to leader.
2020-03-23 08:53:58 +05:30
kishorenc
1cd9793d69
Reject writes to followers.
2020-03-20 22:31:40 +05:30
kishorenc
e057b64d9d
Migrate to butil logger.
2020-03-20 16:49:26 +05:30
kishorenc
c982335bdd
Fix tests.
2020-03-17 07:53:41 +05:30
kishorenc
df08df5d96
Exit cleanly from raft service on validation errors.
2020-03-17 07:43:22 +05:30
kishorenc
123888d4d3
When no --peers
arg is given, start single node cluster.
2020-03-15 20:33:13 +05:30
kishorenc
637ba52769
Delete DB cleanly before restore.
2020-03-15 18:52:26 +05:30
kishorenc
b7f9a2ca28
Handle import of raw db data into snapshot.
2020-03-15 17:08:44 +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
b81ce1062d
Basic write replication is working.
2020-03-11 22:31:17 +05:30
kishorenc
a975f39685
Refactor http code to remove circular references.
2020-03-11 16:13:14 +05:30
kishorenc
eb0c66d778
Basic raft clustering is working.
...
Still need to handle actual stateful operations.
2020-03-08 21:22:48 +05:30
kishorenc
206fe5b833
Expose typo_tokens_threshold
parameter.
...
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.
2020-03-07 12:31:05 +05:30
kishorenc
eef3a5a3de
Handle optional field for legacy records.
2020-03-07 08:59:38 +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
kishorenc
1ab25b9d16
Persist optional field value and restore during restart.
2020-03-06 07:38:46 +05:30
kishorenc
6c8e62a61b
Allow fields to be marked as optional in the schema.
...
Downside: optional fields cannot be used for sorting or marked as default sorting field.
2020-03-05 21:56:05 +05:30
kishorenc
5e1c5f2093
Ditch use of number_t for sorting.
2020-03-05 08:03:01 +05:30
kishorenc
eed10d554d
Sort results on custom order.
2020-03-04 20:27:33 +05:30
kishorenc
7b342c7c73
Refactor number_t to use a single int64_t as store.
2020-03-04 06:23:50 +05:30
kishorenc
63ecc841b5
Return fully highlighted values for specified fields.
...
Via the `highlight_full_fields` parameter.
2020-03-02 20:50:11 +05:30
kishorenc
31e9e4719a
Compute stats on all facet values regardless of facet query.
2020-03-01 21:18:45 +05:30
kishorenc
9622d59996
Parameterize snippet_threshold
for highlighting.
...
Strings under this length will be fully highlighted, instead of showing a snippet.
2020-02-27 18:50:31 +05:30
kishorenc
8a24d047ec
Compute facet stats for numerical fields.
2020-02-27 14:27:43 +05:30
kishorenc
95c8fb7082
Allow non-string fields to be facetable.
2020-02-26 22:59:01 +05:30
kishorenc
991bf03bcb
Only the last facet query token must be treated as prefix.
2020-02-23 11:52:11 +05:30
kishorenc
2dfec18811
Fix comparator for facet sorting.
2020-02-23 08:13:37 +05:30
kishorenc
1369a473e4
Facet query partial highlighting + tests.
2020-02-22 21:43:57 +05:30
kishorenc
38bac77c43
Bug fix: incomplete string array deletion.
2020-02-22 17:30:14 +05:30
kishorenc
712d962cac
WIP: Highlight facet query results
2020-02-21 21:45:28 +05:30
kishorenc
654811f4a3
For facet query, let max_hits default to 0.
2020-02-21 12:48:03 +05:30
kishorenc
7943839de2
Delete kvs.
2020-02-18 21:35:22 +05:30
kishorenc
67c2169b88
Fixed an issue with facet query containing multiple tokens.
2020-02-18 20:30:15 +05:30
kishorenc
4fa89ebf00
Implement facet filtering.
2020-02-17 21:59:47 +05:30
kishorenc
dfbe3888d8
Refactor facet search to use hash based mapping.
...
Also fixed a bug where filter fields marked as facets were being searched only verbatim.
2020-02-16 17:41:17 +05:30
kishorenc
8900347eed
Add some comments to improve readability.
2020-02-15 18:25:32 +05:30
kishorenc
b14cd3edca
Address some warning.
2020-02-11 20:19:46 +05:30
kishorenc
fd285b6fbe
Allow maximum hits returned to be configurable.
...
This obviously has a performance impact, but it might not be a big deal for most people and is now left to their discretion. The default of 500 results stays to maintain backward compatibility.
2020-02-10 20:54:38 +05:30
kishorenc
cf26a16903
Improve logging for replication errors.
2019-11-20 20:05:51 +05:30