64 Commits

Author SHA1 Message Date
Kishore Nallan
01275c38f2 Use unorderd_map for low-volume meta datastructures.
Order of spp:sparse_hash_map during iteration is different in clang and gcc.
2017-12-20 09:16:15 +05:30
Kishore Nallan
8d5f7c18a3 Fix a couple of test compile warnings. 2017-12-17 21:42:45 +05:30
Kishore Nallan
fe0db59877 Support indexing of bool fields. 2017-12-13 20:24:44 +05:30
Kishore Nallan
78b9ee52ec Make match score computation predictable and consistent across multiple indexes. 2017-11-12 22:31:29 +05:30
Kishore Nallan
c1c7d493e5 Allow an integer to be passed to a field defined as a float.
In the real world, this is common and it's better to be practical here.
2017-11-05 10:45:45 +05:30
Kishore Nallan
a7479171b1 Limit number of prefix candidates to a constant.
Using number of results for comparison results in change of total count during pagination.
2017-11-02 18:04:55 +05:30
Kishore Nallan
93430444d0 Prefix sort field can also be a float 2017-10-25 18:18:07 +05:30
Kishore Nallan
a2ce56fd67 Allow string fields to be filtered on.
A rather convenient feature to have - but it would be a match of all tokens without typo tolerance.
2017-10-22 19:52:09 +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
bb3ca4211a Test for pagination. 2017-09-24 22:00:57 +05:30
Kishore Nallan
b3689e16aa Improve test harness to cover some missing cases. 2017-09-23 21:21:13 +05:30
Kishore Nallan
b0cb3ceb41 Set a ceiling on num_typos so that 1 and 2 char prefix searches make sense. 2017-09-22 20:59:26 +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
d351523655 Allow results to be sorted on a float field. 2017-08-20 21:15:48 +05:30
Kishore Nallan
ea550f167c For prefix search, only the last term in the query should be considered as prefix. 2017-08-19 10:42:49 +05:30
Kishore Nallan
f5848be750 Address prefix search issues.
Score based comparison was broken - test has been enhanced.
2017-08-18 23:17:28 +05:30
Kishore Nallan
38fbbea71f Ensure that the token ranking field is an unsigned int. 2017-08-10 18:29:59 -04:00
Kishore Nallan
e384b777a1 Collection operations on float fields. 2017-08-10 18:20:58 -04:00
Kishore Nallan
916aaf6526 API for fetching a document ID and listing all collections. 2017-07-28 20:39:51 +05:30
Kishore Nallan
ffba0371b0 Proper API responses when pagination exceeds result boundaries. 2017-07-07 18:36:56 +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
06ff49df4a Added a few more tests. 2017-07-01 22:57:59 +05:30
Kishore Nallan
8295707ed4 Allow pagination of results.
`page` and `per_page` can be specificed. Simpler to reason about than using the usual `start` and `offset` fields.
2017-06-15 17:14:10 +05:30
Kishore Nallan
50e08726da String field tokens which match with query tokens are highlighted in the results. 2017-06-09 14:59:06 -05:00
Kishore Nallan
20a3139dd2 Tweak score calculation - number of words present is more important than candidate rank score. 2017-05-27 17:47:26 +05:30
Kishore Nallan
b7bc974b8e Expose token ranking field properly via the API. 2017-05-27 14:02:32 +05:30
Kishore Nallan
6d3613b750 Limit facets returned to top 10. 2017-05-20 15:25:12 +05:30
Kishore Nallan
a25d2f590d Sort order is required only during query time. 2017-05-14 17:36:48 +05:30
Kishore Nallan
1992d92eaf Tests for asc/desc sort order. 2017-05-14 12:25:59 +05:30
Kishore Nallan
060959ad70 Fixed wrong found counts. 2017-05-13 22:31:56 +05:30
Kishore Nallan
f62247cd32 Make the sort_fields take order of sorting. 2017-05-07 21:33:04 +05:30
Kishore Nallan
57bff89a97 Should not crash when an empty index is queried against. 2017-04-08 20:45:20 +05:30
Kishore Nallan
70dda716c5 Parameterize the token ordering field. 2017-03-26 21:26:01 +05:30
Kishore Nallan
fab27d9f5c Handle fields not matching type declared in the schema during indexing. 2017-03-26 14:49:32 +05:30
Kishore Nallan
222e2c689a Handle indexing document that does not have all the fields defined in the schema. 2017-03-25 21:45:06 +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
4776b41dc1 Facet implementation. 2017-03-13 21:09:27 +05:30
Kishore Nallan
96921be016 Parse filter query string. 2017-03-06 21:17:13 +05:30
Kishore Nallan
0760e4d01b String based filtering. 2017-03-04 20:58:29 +05:30
Kishore Nallan
14168c48fc Support for "IN" style numerical filter. 2017-03-03 21:50:43 +05:30
Kishore Nallan
4378083e73 Searching for an int32 against an int32 array. 2017-02-12 17:35:43 +05:30
Kishore Nallan
aa9945c3c0 Implemented filter on a single int32 value. 2017-02-12 12:51:28 +05:30
Kishore Nallan
cab0b36699 Skeleton for filter support. 2017-02-02 09:20:06 +05:30
Kishore Nallan
4e468fb0b9 Index and search on multi-valued numeric field. 2017-01-28 20:32:42 -06:00
Kishore Nallan
385e8cb7a2 Index and search on multi-valued string field. 2017-01-28 10:37:46 -06:00
Kishore Nallan
216ac7997a Restore in-memory index on restart. 2017-01-24 22:13:49 -05:00
Kishore Nallan
342ed2bab2 Test for multi field search. 2017-01-22 19:35:57 -05:00
Kishore Nallan
ce990ecb57 Fix documents.jsonl path in tests. 2017-01-22 22:19:56 +05:30
Kishore Nallan
a6cacf19d0 Return total number of results found in the API. 2017-01-22 21:39:46 +05:30
Kishore Nallan
b7654baa74 Persist collection's next_seq_id. 2017-01-09 22:14:06 +05:30