324 Commits

Author SHA1 Message Date
kishorenc
2fc58a54bb Allow facet field to be used as a query/filter field. 2020-02-16 19:27:23 +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
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
74aa2e8a84 Hits and found fields should always be returned in response.
Even if the query produces no results.
2020-01-30 22:08:03 +05:30
kishorenc
53086d6a52 Ensure that default sorting field exists in schema during collection creation. 2019-12-15 10:42:29 +05:30
kishorenc
fde1d268cf Fix duplicate counts when faceting across multiple query fields. 2019-12-09 08:57:27 +05:30
kishorenc
cf26a16903 Improve logging for replication errors. 2019-11-20 20:05:51 +05:30
kishorenc
d2dba44e5e Test for edge case of finding no query tokens in the array. 2019-11-19 14:01:41 +05:30
kishorenc
457bbcf467 Ensure strings with both ASCII and non-ASCII entities are indexed properly.
Earlier, such strings were being indexed only partially in certain cases.
2019-10-03 19:22:29 +05:30
kishorenc
7c4d0f9286 Fixed a bug with unicode search. 2019-09-25 20:41:58 +05:30
Kishore Nallan
237196204c Persist override configuration. 2019-08-17 10:40:13 +05:30
Kishore Nallan
c1b9501351 Lay foundations for overriding search results. 2019-08-10 19:46:37 +05:30
Kishore Nallan
e6dad1682c Parameter for controlling max number of facets returned during search. 2019-06-26 18:58:18 +05:30
Kishore Nallan
aa439c1ea6 Fix long queries causing highlighter to misbehave and sometimes crash.
A window of size 10 is used by the highlighter to mark overlap with query text. When query length exceeded 10 tokens, this caused the highlighter to break.
2019-06-25 12:20:07 +05:30
Kishore Nallan
a2e3d5ac79 Fix facet counts not showing up in wildcard searches. 2019-06-14 08:37:27 +05:30
Kishore Nallan
d524b08884 Add test for bad import JSON. 2019-05-26 21:06:01 +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
8f167dd7df Test for import. 2019-05-11 17:07:23 +05:30
Kishore Nallan
bfdc31f8d8 Read configuration from a configuration file. 2019-04-30 20:47:23 +05:30
Kishore Nallan
51169bf6b6 Add tests for configuration parsing. 2019-04-29 18:55:45 +05:30
Kishore Nallan
e1db28a153 When a facet field is filtered upon, search should be verbatim instead of normalizing the filter_by value.
There was also a difference in the behavior between string and string array facet fields which is corrected in this PR.

Fixes https://github.com/typesense/typesense/issues/54
2019-04-22 20:58:54 +05:30
Kishore Nallan
35b7ba720b Store the created timestamp as part of collection metadata. 2018-08-26 16:45:47 +05:30
Kishore Nallan
3c98931c0e Improve unicode normalization.
Normalize latin characters like ß to their near equivalent ASCII representations.
2018-08-18 16:31:18 -04:00
Kishore Nallan
ad42c40e6d Add health check end-point. 2018-08-15 09:50:43 -04:00
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
6bb139399d Fixed an edge case that causes overflow when querying large string fields. 2018-06-08 20:59:14 +05:30
Kishore Nallan
c5b7f3c7e2 Return snippets of best matched array elements instead of just the best matched element.
However, we limit the number of snippets returned to 5 for now.
2018-05-22 14:48:25 +05:30
Kishore Nallan
0014e19ea6 Highlighting should include all search fields, and not just the best matched field. 2018-05-14 14:11:14 +05:30
Kishore Nallan
2d7e75caa5 Support wildcard query: using a * would ignore the search query and consider all records for filter+sort. 2018-05-12 09:48:29 +05:30
Kishore Nallan
95112a8086 Support inclusion and exclusion of document fields that are returned in search response. 2018-05-08 07:53:13 +05:30
Kishore Nallan
46983ba6b4 Simplify the structure of the "highlight" field in response. 2018-05-05 17:48:04 +05:30
Kishore Nallan
56ed39e3ff Refactor topster to ensure that it handles insertion of duplicate keys.
Instead of ignoring a duplicate blindly, ignore when match score is less than existing key.
2018-04-30 20:28:56 +05:30
Kishore Nallan
71f1fbb4aa Refactor query index logic. 2018-04-25 19:32:46 +05:30
Kishore Nallan
1d1cd2459b When multiple fields are searched, the same document should not be returned twice. 2018-04-24 17:49:04 +05:30
Kishore Nallan
33552ca627 Change structure of hightlight in response to allow sending the matched array index. 2018-04-23 21:54:08 +05:30
Kishore Nallan
d4d1a9e3bd Fuzzy prefix searching should rely on the intermediate cost rather than the final cost.
Since we are only trying to match the prefix part, comparing the prefix with the full string makes no sense.
2018-04-21 20:14:10 +05:30
Kishore Nallan
b669a47c29 Highlight best matched string in an array.
An ARRAY_SEPARATOR delimiter is used to demarcate offsets of tokens from different indices of an array. Plain string fields are treated like a single-element array field, but without needing to use a delimiter.
2018-04-20 16:44:17 +05:30
Kishore Nallan
b186816ca5 Respect drop_tokens_threshold even when that token does not exist in the index. 2018-04-13 16:52:51 +05:30
Kishore Nallan
874b5beb89 Fix initialization of priority queue. 2018-04-12 20:56:44 +05:30
Kishore Nallan
6ad5e36179 Allow configuring a threshold for dropping tokens.
Fixes https://github.com/typesense/typesense/issues/20
2018-04-12 19:25:59 +05:30
Kishore Nallan
c0d7e57c62 Only lowercase, don't substitute latin chars to ASCII.
There was a noticeable slow-down. To be explored in future, potentially behind an optional flag.
2018-04-04 19:05:48 +05:30
Kishore Nallan
55ac4feb08 Normalize unicode characters using ICU. 2018-04-02 11:26:32 +05:30
Kishore Nallan
e43a101c50 If no sort_by fields are provided, sort descending on default_sorting_field. 2018-02-24 12:53:52 +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
dc9ff3033b Fix failing test. 2018-02-08 16:57:32 -08:00
Kishore Nallan
b451a559e0 Improve error message logged when a replica is pointed to an old master.
In such a case, the WAL entries would have expired - logging that explicitly now.
2018-02-03 10:05:24 -05:00
Kishore Nallan
0f7530ed13 Serialize and deserialize next sequence id properly instead of string encoding. 2018-02-02 19:02:19 -05:00
Kishore Nallan
6b37d43fd7 Use a proper logger for logging! 2018-02-02 08:22:23 -05:00