Commit Graph

268 Commits

Author SHA1 Message Date
Andrea Cavalli
09f60a3a99 Implement memory-mapped sorted searcher for streaming huge query results 2021-10-13 00:23:56 +02:00
Andrea Cavalli
83e98ebce8 Fast implementation of query transformers 2021-10-08 11:50:28 +02:00
Andrea Cavalli
30a14a4aae Add todos 2021-10-08 02:14:34 +02:00
Andrea Cavalli
4d5f8b5b37 Implement MoreLikeThis transformer 2021-10-08 02:13:33 +02:00
Andrea Cavalli
81d8abe72c Add ensureBlocking in blocking method 2021-10-07 00:54:20 +02:00
Andrea Cavalli
013e4c5dd8 Remove publishOn in lucene utils 2021-10-07 00:54:11 +02:00
Andrea Cavalli
818bd20ed9 Update netty 2021-10-01 19:17:33 +02:00
Andrea Cavalli
5d2ba797eb Cleanup code 2021-09-30 00:25:09 +02:00
Andrea Cavalli
9a6f195b63 Cleanup utils 2021-09-30 00:23:41 +02:00
Andrea Cavalli
dc14192dca Reimplement MultiMoreLikeThis using BigCompositeReader 2021-09-29 13:18:06 +02:00
Andrea Cavalli
2fb96eaf03 Ensure running in a blocking thread 2021-09-29 11:38:36 +02:00
Andrea Cavalli
74f2cce604 Throw error only when needed 2021-09-26 15:10:42 +02:00
Andrea Cavalli
5d7b403e55 Move reactive collector 2021-09-25 18:31:41 +02:00
Andrea Cavalli
f03f7296d4 Separate LeafCollector 2021-09-25 14:09:10 +02:00
Andrea Cavalli
5443e330bb Optimistic emission of results 2021-09-25 13:26:59 +02:00
Andrea Cavalli
8e15020f5b Improve performance of infinite queries 2021-09-25 13:07:52 +02:00
Andrea Cavalli
d06c9184bd Bugfix 2021-09-25 13:07:40 +02:00
Andrea Cavalli
d96b5a168b Execute searches on its own executor 2021-09-25 13:06:24 +02:00
Andrea Cavalli
23fa46c775 Release cached searcher 2021-09-24 02:44:12 +02:00
Andrea Cavalli
1a73a5a33f Bugfixes 2021-09-23 22:04:01 +02:00
Andrea Cavalli
3a544d4297 Partial migration to ResourceSupport 2021-09-23 20:57:28 +02:00
Andrea Cavalli
51ec85abe1 Improve logging 2021-09-23 15:37:13 +02:00
Andrea Cavalli
6c849fae78 Change makeInaccessible visibility 2021-09-23 15:34:56 +02:00
Andrea Cavalli
d4c977047c Allow sorted/scored counting 2021-09-23 14:50:15 +02:00
Andrea Cavalli
e034f3b778 Support memory segments 2021-09-22 18:33:28 +02:00
Andrea Cavalli
8b73a05177 Bugfixes and upgraded to java 17 2021-09-22 11:03:39 +02:00
Andrea Cavalli
0fee105f0b Bugfixes 2021-09-21 02:01:02 +02:00
Andrea Cavalli
bd97704a0b Better page limits 2021-09-20 18:20:59 +02:00
Andrea Cavalli
3c5edbc06e Finished initial refactoring 2021-09-20 12:51:27 +02:00
Andrea Cavalli
ca37d1fb68 Rewrite lucene transformers and implement MoreLikeThis sharding 2021-09-20 11:35:01 +02:00
Andrea Cavalli
5cfb5f49cd Add custom MoreLikeThis with sharding support 2021-09-20 00:22:22 +02:00
Andrea Cavalli
65db1711b5 Missing: moreLikeThis 2021-09-19 19:59:37 +02:00
Andrea Cavalli
31422847c2 Add SimpleUnsortedUnscoredLuceneMultiSearcher 2021-09-19 12:35:48 +02:00
Andrea Cavalli
d1963a1d65 Finish refactoring SimpleLuceneLocalSearcher 2021-09-19 12:01:11 +02:00
Andrea Cavalli
8bc0284f27 First safe search commit 2021-09-18 18:34:21 +02:00
Andrea Cavalli
9e09574517 Don't parallelize here 2021-09-10 01:13:39 +02:00
Andrea Cavalli
36dde3bb5a Set concurrency to 3 2021-09-10 00:05:39 +02:00
Andrea Cavalli
c47f45076a Optimization 2021-09-09 23:27:39 +02:00
Andrea Cavalli
f157e67818 Various searchers optimizations 2021-09-09 23:00:16 +02:00
Andrea Cavalli
48ba4d15de Bugfix 2021-09-09 12:31:49 +02:00
Andrea Cavalli
3a79e5ba6f Undo parallelization of lucene searches 2021-09-08 23:41:05 +02:00
Andrea Cavalli
6926292904 Avoid nesting schedulers inside generators 2021-09-08 22:32:08 +02:00
Andrea Cavalli
2b21e6a864 Use blocking generator instead of Flux.create 2021-09-08 22:16:06 +02:00
Andrea Cavalli
e12e240487 Subscribe on the same thread 2021-09-08 21:35:04 +02:00
Andrea Cavalli
09c7e4f730 Performance bugfix 2021-09-08 21:34:52 +02:00
Andrea Cavalli
d4ed99cc24 Fix compilation issue 2021-09-07 11:28:03 +02:00
Andrea Cavalli
717d13ef1f Revert commit 1882e8b300 2021-09-07 11:26:10 +02:00
Andrea Cavalli
f5d3474966 Fix possible deadlock 2021-09-07 02:08:29 +02:00
Andrea Cavalli
936c07406e Implement more phasers 2021-09-06 18:52:21 +02:00
Andrea Cavalli
d5964a7bed Pool searchers 2021-09-06 15:06:51 +02:00
Andrea Cavalli
4c348a6b2f Throw exception if running in a nonblocking scope 2021-09-05 14:23:46 +02:00
Andrea Cavalli
1882e8b300 Optimize performance by removing all superfluous subscribeOn calls 2021-09-04 16:42:47 +02:00
Andrea Cavalli
154086dee2 Fix compilation issues and buffer expansions 2021-09-03 16:11:14 +02:00
Andrea Cavalli
3b55e8bd24 (unfinished) Netty 5 refactoring 2021-08-29 23:18:03 +02:00
Andrea Cavalli
6fe9f9c24f Fix hanging on ScoredSimpleLuceneShardSearcher 2021-08-25 10:23:42 +02:00
Andrea Cavalli
2207ae4314 Fix class names 2021-08-24 11:55:33 +02:00
Andrea Cavalli
a0eb80b130 Protect against memory leaks with dropped search results 2021-08-24 11:53:19 +02:00
Andrea Cavalli
a909aaaf52 LLKeyScore is now a regular record 2021-08-24 11:06:25 +02:00
Andrea Cavalli
9d326f5a8b Human readable representation of total hits count 2021-08-04 01:16:17 +02:00
Andrea Cavalli
9734d78839 Total hits with precision 2021-08-04 01:12:39 +02:00
Andrea Cavalli
bcd99f4727 Avoid errors 2021-08-04 00:44:06 +02:00
Andrea Cavalli
328a45f40d Fix unscored-unsorted collectors 2021-07-31 23:12:13 +02:00
Andrea Cavalli
4e782403f5 Fix results ordering 2021-07-30 14:01:12 +02:00
Andrea Cavalli
db54773cda remove warning 2021-07-28 22:18:33 +02:00
Andrea Cavalli
e738eda331 Performance optimization 2021-07-27 19:34:51 +02:00
Andrea Cavalli
7abcdf05f9 Optimize performance of unscored queries 2021-07-27 00:32:30 +02:00
Andrea Cavalli
ea86bf7a43 Improve performance with UnscoredCollector 2021-07-26 19:21:17 +02:00
Andrea Cavalli
aa1aa7a6fb Test more numbers 2021-07-18 19:37:24 +02:00
Andrea Cavalli
ff9ee54857 Improve performance 2021-07-17 23:06:26 +02:00
Andrea Cavalli
43439c6f10 Optimize performance 2021-07-17 11:52:08 +02:00
Andrea Cavalli
58a9121978 Add heap kv database implementation 2021-07-10 20:52:01 +02:00
Andrea Cavalli
5f3c8a2515 Avoid calling reduce() multiple times 2021-07-08 18:54:53 +02:00
Andrea Cavalli
e2b5432b8d Fix npe 2021-07-08 17:04:53 +02:00
Andrea Cavalli
211a0b36cd Search unscored sorted queries using the non-scored shard searcher 2021-07-08 17:01:56 +02:00
Andrea Cavalli
e7e25e646d Fix scheduling 2021-07-06 02:23:06 +02:00
Andrea Cavalli
7cebcd7e92 Sort shards during merge 2021-07-06 01:52:12 +02:00
Andrea Cavalli
6c97b0f068 Bugfixes 2021-07-06 01:30:37 +02:00
Andrea Cavalli
b5ccf315be Implement adaptive multi searcher for shard indexes 2021-07-06 00:30:14 +02:00
Andrea Cavalli
545c7111de Bugfix 2021-07-05 18:55:11 +02:00
Andrea Cavalli
00ff36836e Improve reactive searchers performance 2021-07-05 15:43:19 +02:00
Andrea Cavalli
a5d4584a11 Adaptive reactive lucene search engine, lazy results 2021-07-05 12:05:45 +02:00
Andrea Cavalli
7929f0dc8c Fully reactive lucene queries 2021-07-04 01:34:17 +02:00
Andrea Cavalli
8a1e4028f7 Advanced lucene options 2021-07-01 21:19:52 +02:00
Andrea Cavalli
6eb531e4f1 Add ICU 2021-05-28 16:04:59 +02:00
Andrea Cavalli
6ccff7646b Update reactor 2021-05-22 14:46:54 +02:00
Andrea Cavalli
2d24436b93 Update to java 16 2021-05-21 00:19:40 +02:00
Andrea Cavalli
8eedc27bba Allow multiple resubscriptions to the same flux 2021-05-12 21:41:47 +02:00
Andrea Cavalli
40a80fc54f Fix imports 2021-05-09 19:56:25 +02:00
Andrea Cavalli
0c26daba57 Bugfixes 2021-05-02 19:18:15 +02:00
Andrea Cavalli
505de18ecb Fix returning a single result 2021-04-14 02:37:03 +02:00
Andrea Cavalli
eb0ac6fbb9 Fix all warnings 2021-04-03 19:09:06 +02:00
Andrea Cavalli
20069e7e06 Update SimpleStreamSearcher.java 2021-04-01 22:58:05 +02:00
Andrea Cavalli
918ff71091 Implement offsets in lucene search 2021-04-01 19:48:25 +02:00
Andrea Cavalli
3e6573d955 Safer approach to total hits count in lucene results 2021-03-27 03:35:27 +01:00
Andrea Cavalli
e72b2ca93c Update LuceneUtils 2021-03-11 14:45:45 +01:00
Andrea Cavalli
08434d475c Avoid multiple subscriptions to the same search query 2021-03-05 16:17:37 +01:00
Andrea Cavalli
b71f3dceed Bugfixes 2021-03-03 20:00:58 +01:00
Andrea Cavalli
a06d448182 Merge totalhitscount in merged streams 2021-03-03 17:29:14 +01:00
Andrea Cavalli
7f15a6e099 Optimize lucene schedulers 2021-03-03 10:57:45 +01:00
Andrea Cavalli
07ea61050f Cancellable iteration in lucene 2021-03-03 00:13:57 +01:00
Andrea Cavalli
1fc6ab2e4a Generated serializable queries 2021-03-02 01:53:36 +01:00
Andrea Cavalli
36a0812237 Sort by score option, bugfixes 2021-02-28 16:50:59 +01:00
Andrea Cavalli
96a908b833 Enhance morelikethis 2021-02-28 14:52:11 +01:00
Andrea Cavalli
9a4e0d53d3 Add wildcardQuery, optimize parallel queries 2021-02-28 00:29:56 +01:00
Andrea Cavalli
050d77d359 Clean search code 2021-02-27 19:05:13 +01:00
Andrea Cavalli
575bde94f0 Convert limit to long, add new query type. 2021-02-22 01:37:17 +01:00
Andrea Cavalli
5d5d506421 Wrap slf4j implementation 2021-02-20 21:35:09 +01:00
Andrea Cavalli
c36824699a Bugfix 2021-02-16 23:15:56 +01:00
Andrea Cavalli
db76fe8c71 Code cleanup 2021-02-14 19:38:01 +01:00
Andrea Cavalli
bb3afd291e Add minCompetitiveScore 2021-02-14 13:46:11 +01:00
Andrea Cavalli
9df1bda11d Support better queries 2021-02-12 21:55:10 +01:00
Andrea Cavalli
258e7f7d7c Fixed text query builder 2021-02-12 19:39:02 +01:00
Andrea Cavalli
14c2464577 Bugfixes 2021-02-05 20:34:58 +01:00
Andrea Cavalli
151884b772 Global scores between multiple lucene shards 2021-02-04 22:42:57 +01:00
Andrea Cavalli
db5c444b92 Fix all warnings 2021-02-03 14:37:02 +01:00
Andrea Cavalli
09ec134b51 Rewrite README 2021-02-03 14:08:32 +01:00
Andrea Cavalli
5c98465637 Working indicization 2021-02-03 13:48:30 +01:00
Andrea Cavalli
f0f34d89a9 Refactoring 2021-01-30 22:14:48 +01:00