For now, just implement reactive ways to execute indexing operations (workers) and queries (SearchQuery interface). Don’t worry about the rest for now. In particular, let’s not consider scrolls yet.
The current APIs seem to mostly do the job, returning {{CompletableFuture}} for indexing works. For search queries, we could add an {{ executeAsync fetchAsync ()}} method, or rename the current (synchronous) {{execute}} to {{executeAndWait}} and introduce a new asynchronous {{execute}} methods .
Scrolling, or multi-result operations in general, will be another story. We may have to implement Flow.Publisher, but that requires Java 9 at least. So, as I said above... let's not worry about that for now.
Note: it would be interesting to introduce some tests using the stub backend, maybe the POJO mapper, and RxJava2
See branch f2f-2018: https://github.com/hibernate/hibernate-search-6-poc/commit/fb66f9c4196bc06db7742c4df15337bcdb21cc25 |
|