# Package org.appng.api.search

Provides an API to the indexing and searching functionality of appNG

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Document | A `Document` is tracked by the Lucene searchindex.

- Class Summary
  Class | Description
  --- | ---
  BlockingQueueAccessor<E> | A `BlockingQueue`-based implementation for consumer-producer-scenarios. Note that all available operations are blocking!
  Consumer<E,P extends Producer<E>> | A `Consumer` is aware of several `Producer`s which can be added via the `BlockingQueueAccessor.put(Object)`, `BlockingQueueAccessor.put(Object, long)` and `BlockingQueueAccessor.putWithTimeout(Object, long)` method.
  DocumentEvent | A `DocumentEvent` encapsulates a `Document` and an `Observable.Event` associated with this `Document`.
  DocumentProducer | A `Producer` that produces `DocumentEvent`s.
  Producer<E> | A `Producer` creates a product via the `BlockingQueueAccessor.put(Object)`, `BlockingQueueAccessor.put(Object, long)` and `BlockingQueueAccessor.putWithTimeout(Object, long)` method and offers it to it's (unknown) `Consumer`s via the `BlockingQueueAccessor.get()` , `BlockingQueueAccessor.get(long)` or `BlockingQueueAccessor.getWithTimeout(long)`-method. TODO MM this has nothing to do especially with searching! Design seems overloaded, use a shared single BlockingQueue for communication between consumer and producer!

## Package org.appng.api.search Description

Provides an API to the indexing and searching functionality of appNG

Copyright © 2011–2023 aiticon GmbH. All rights reserved.