public abstract class LiveFieldValues<S,T>
extends
implements
NOTE: you must ensure the same id is never updated at the same time by two threads, because in this case you cannot in general know which thread "won".
Constructor and Description |
---|
LiveFieldValues(ReferenceManager<S> mgr,
T missingValue)
The missingValue must be non-null.
|
Modifier and Type | Method and Description |
---|---|
void |
id,
T value)
Call this after you've successfully added a document
to the index, to record what value you just set the
field to.
|
void |
afterRefresh(boolean didRefresh)
Called after the attempted refresh; if the refresh
did open a new reference then didRefresh will be true
and
ReferenceManager.acquire() is guaranteed to return the new
reference. |
void |
beforeRefresh()
Called right before a refresh attempt starts.
|
void |
close() |
void |
id)
Call this after you've successfully deleted a document
from the index.
|
T |
id)
Returns the current value for this id, or null if the
id isn't in the index or was deleted.
|
protected abstract T |
lookupFromSearcher(S s,
id)
This is called when the id/value was already flushed and opened
in an NRT IndexSearcher.
|
int |
size()
Returns the [approximate] number of id/value pairs
buffered in RAM.
|
public LiveFieldValues(ReferenceManager<S> mgr, T missingValue)
public void close()
in interface
in interface
public void beforeRefresh() throws
ReferenceManager.RefreshListener
beforeRefresh
in interface ReferenceManager.RefreshListener
public void afterRefresh(boolean didRefresh) throws
ReferenceManager.RefreshListener
ReferenceManager.acquire()
is guaranteed to return the new
reference.afterRefresh
in interface ReferenceManager.RefreshListener
public void add( id, T value)
public void delete( id)
public int size()
public id) throws
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.