227 Commits

Author SHA1 Message Date
Kishore Nallan
b141e01b1b Field level prefix configuration. 2021-06-11 19:00:11 +05:30
Kishore Nallan
d5655809ac Test for verifying that unindexed field is upserted.
♥ SSK.
2021-06-06 15:42:01 +05:30
Kishore Nallan
e3a5c3d9aa Fix highlight edge case: random first token highlight. 2021-05-20 11:12:27 +05:30
Kishore Nallan
32eda90e16 Allow num_typos to be configured at a per-field level. 2021-05-20 07:22:01 +05:30
Kishore Nallan
239f4443e8 Skip empty strings during indexing. 2021-05-13 17:23:02 +05:30
Kishore Nallan
e8dd34c1c3 Option fields can have a null value. 2021-05-13 17:01:22 +05:30
Kishore Nallan
987535c1be Make exact match behavior configurable. 2021-05-13 15:13:29 +05:30
Kishore Nallan
2b31ea22b8 Fixed an edge case of exact match across multiple fields. 2021-05-12 22:15:32 +05:30
Kishore Nallan
348d672d0c Prioritize records whose fields match exactly with query. 2021-05-05 16:24:55 +05:30
Kishore Nallan
b13d093b0a Refactor fuzzy search to address some obscure bugs. 2021-05-02 21:49:47 +05:30
Kishore Nallan
b5300fa599 Ensure that all query tokens are highlighted. 2021-04-27 08:11:37 +05:30
Kishore Nallan
006ff75154 Better highlighting for query tokens match across fields. 2021-04-19 13:02:42 +05:30
Kishore Nallan
b3b47f5651 Refactor highlighting + tokenizer to simplify logic. 2021-04-18 20:37:58 +05:30
Kishore Nallan
1d1712f391 Refactor tokenizer to use index, skip and separate logic. 2021-04-16 17:55:52 +05:30
Kishore Nallan
0727f8a5b7 More fine grain locking during updates. 2021-04-12 16:22:57 +05:30
kishorenc
bc0d01bb47 Parameterize thread pool size and collection load configs. 2021-03-29 15:18:47 +05:30
kishorenc
a87d108aa5 Ensure that highlighting is on the best matched field. 2021-03-26 19:21:22 +05:30
kishorenc
063d7911b4 SSL cert loading: replace instead of add + validation. 2021-03-21 09:37:08 +05:30
kishorenc
535f5f7e1f More fixes for exact match ranking order. 2021-03-20 15:01:37 +05:30
kishorenc
c2eec85277 Fix highlighting of strings with special characters. 2021-03-20 12:58:30 +05:30
kishorenc
fcdd8ec9c9 Add test for searching field with special characters. 2021-03-18 21:32:53 +05:30
kishorenc
1387f1c21b Exact matches should be ranked above other matches. 2021-03-18 21:01:37 +05:30
kishorenc
f501b137b7 Tokenize on special characters. 2021-03-16 11:39:53 +05:30
kishorenc
cfc922c6f0 Remove use of doc meta key as it's not needed anymore. 2021-02-28 19:23:41 +05:30
kishorenc
0a9cf4aee0 Add more tests for testing schema detection. 2021-02-23 20:04:37 +05:30
kishorenc
f1b70384cc Allow fields to be stringified automatically. 2021-02-23 12:58:14 +05:30
kishorenc
c24fc02d4d Persist per-doc coerce setting + allow dropping of bad values. 2021-02-23 09:35:36 +05:30
kishorenc
d2a825799b Make default sorting field optional. 2021-02-21 19:55:31 +05:30
kishorenc
11c41804e5 Handle bad data gracefully. 2021-02-20 12:49:41 +05:30
kishorenc
5dc7df793c Merge branch '0.18.0-patches' into 0.20.0-rc
# Conflicts:
#	include/auth_manager.h
#	include/collection_manager.h
#	include/http_server.h
#	src/auth_manager.cpp
#	src/collection_manager.cpp
#	src/http_server.cpp
2021-02-16 12:54:42 +05:30
kishorenc
6de60867d8 Return collection name as part of search response. 2021-02-15 18:56:53 +05:30
kishorenc
17fbbd0838 Refactor concurrency model. 2021-02-06 20:17:18 +05:30
Jason Bosco
8b4e07cb81 Configuration to log slow requests 2021-01-23 07:44:59 -08:00
Jason Bosco
0306242d59 Add limit_hits param for restricting total results 2021-01-22 21:37:36 -08:00
kishorenc
59f95dbf67 Use max_hits parameter for consistent pagination.
This will not affect wildcard queries or single field queries.
2020-12-28 19:20:00 +05:30
kishorenc
2061d04629 Treat token hits as a rank slot instead of a weight. 2020-12-28 19:20:00 +05:30
kishorenc
bc1d88f1eb Consider tokens matching across fields during ranking. 2020-12-28 19:20:00 +05:30
kishorenc
66a44a5afc Expose field weights used for scoring. 2020-12-28 19:20:00 +05:30
kishorenc
667eee1dad Use weighted scoring of fields for matching.
For now, weights are not exposed, but this is possible in future.
2020-12-28 19:20:00 +05:30
kishorenc
435476df5d Rank prefix match below exact match. 2020-12-28 19:19:59 +05:30
kishorenc
590aed7f0e Give highest priority to field order while ranking. 2020-12-28 19:19:59 +05:30
kishorenc
f4423367c8 Aggregate match score when matched across array elements. 2020-12-28 19:19:59 +05:30
kishorenc
e5fa36a0b0 Remove pre-sorting of index topsters. 2020-12-28 19:19:59 +05:30
kishorenc
8f818f7fcb More exhaustive multi-field ranking. 2020-12-28 19:19:59 +05:30
kishorenc
1373dacb0c Improve upsert test case with a filter usecase. 2020-12-28 19:19:59 +05:30
kishorenc
fc989f1ac2 Handle case when all query tokens are exclusions. 2020-12-28 19:19:59 +05:30
kishorenc
6883b4db36 Speed up numerical filter + fixed edge case with -ve value. 2020-12-28 19:19:59 +05:30
kishorenc
c97ded0458 Support expiry of API keys.
Both parent and scoped keys are supported, but the expiry time of parent key takes precedence. Default is a date far into the future.
2020-12-28 19:19:59 +05:30
kishorenc
a912a250ff Fix bad unicode characters in highlight snippet. 2020-12-28 19:19:59 +05:30
kishorenc
f164de4702 Multi field matching: ensure best matched field prevails. 2020-12-28 19:19:59 +05:30