Async, reactive-friendly methods for simple search and indexing

Description

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 fetchAsync() 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

Environment

None

Assignee

Unassigned

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Fix versions

Priority

Major
Configure