public abstract class BridgeHelper extends Object implements org.hibernate.search.bridge.FieldBridge, org.springframework.context.ApplicationEventPublisherAware
FieldBridge
implementations.
To force handling of null values, the
#add(Document, String, String, Store, org.apache.lucene.document.Field.Index, Float)
methods throw NullValueException
which can convert itself to a
RuntimeException
via NullValueException#convert(Object)
if
that is the simplest course of action. Alternatively, you could re-add the
value with a null-token like "null".Modifier and Type | Field and Description |
---|---|
static String |
COMBINED
Name of the
Field which contains the union of all fields. |
protected org.slf4j.Logger |
log |
protected org.springframework.context.ApplicationEventPublisher |
publisher |
Constructor and Description |
---|
BridgeHelper() |
Modifier and Type | Method and Description |
---|---|
protected void |
add(org.apache.lucene.document.Document d,
String field,
String value,
org.hibernate.search.bridge.LuceneOptions opts)
Helper method which takes the parameters from the
#set(String, Object, Document, Store, org.apache.lucene.document.Field.Index, Float)
method (possibly modified) as well as the parsed String value
which should be added to the index, and adds two fields. |
protected void |
addContents(org.apache.lucene.document.Document d,
String name,
OriginalFile file,
OriginalFilesService files,
Map<String,FileParser> parsers,
org.hibernate.search.bridge.LuceneOptions opts)
Second helper method used when parsing files.
|
static <T> T |
getProxiedObject(T proxy)
Simpler wrapper to handle superclass proxy objects (e.g.
|
org.slf4j.Logger |
logger() |
protected Iterable<Reader> |
parse(OriginalFile file,
OriginalFilesService files,
Map<String,FileParser> parsers)
Attempts to parse the given
OriginalFile . |
protected <T extends IObject> |
reindex(T object)
Publishes a
ReindexMessage which will get processed
asynchronously. |
protected <T extends IObject> |
reindexAll(List<T> list)
Publishes a
ReindexMessage which will get processed
asynchronously. |
abstract void |
set(String name,
Object value,
org.apache.lucene.document.Document document,
org.hibernate.search.bridge.LuceneOptions opts)
Method to be implemented by all
bridges . |
void |
setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher publisher)
Set the ApplicationEventPublisher that this object runs in.
|
public static final String COMBINED
Field
which contains the union of all fields. This is
also the default search field, so users need not append the value to
search the full index. A field name need only be added to a search to
eliminate other fields.protected final org.slf4j.Logger log
protected org.springframework.context.ApplicationEventPublisher publisher
public static <T> T getProxiedObject(T proxy)
ticket:5076
public final org.slf4j.Logger logger()
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher publisher)
org.springframework.context.ApplicationEventPublisherAware
Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked before ApplicationContextAware's setApplicationContext.
setApplicationEventPublisher
in interface org.springframework.context.ApplicationEventPublisherAware
publisher
- event publisher to be used by this objectpublic abstract void set(String name, Object value, org.apache.lucene.document.Document document, org.hibernate.search.bridge.LuceneOptions opts)
bridges
. The "value"
argument is an active Hibernate object, and so the full graph can be
walked.set
in interface org.hibernate.search.bridge.FieldBridge
protected void add(org.apache.lucene.document.Document d, String field, String value, org.hibernate.search.bridge.LuceneOptions opts)
#set(String, Object, Document, Store, org.apache.lucene.document.Field.Index, Float)
method (possibly modified) as well as the parsed String
value
which should be added to the index, and adds two fields. One with the
given field name and another to the COMBINED
field which is the
default search provided to users. In addition to storing the value as is,
another Field
will be added for both the named and
COMBINED
cases using a StringReader
to allow Lucene to
tokenize the String
.d
- Document as passed to the set method. Do not modify.field
- Field name which probably should be modified. If
this value is null, then the "value" will only be added to the
COMBINED
field.value
- Value which has been parsed out for this field. Should
not be null. If you need to store a null value in
the index, use a null token like "null".opts
- LuceneOptions, passed in from the runtime. If overriding on
the interface values is required, see SimpleLuceneOptions
protected void addContents(org.apache.lucene.document.Document d, String name, OriginalFile file, OriginalFilesService files, Map<String,FileParser> parsers, org.hibernate.search.bridge.LuceneOptions opts)
OriginalFile
will be passed to parse(OriginalFile, OriginalFilesService, Map)
to generate Reader
instances, which will be read until they
signal an end, however it is not the responsibility of this instance to
close the Readers since this happens asynchronously.
The contents of the file will be parsed both to COMBINED
and
"file.contents".d
- Document
as passed to set. Do not modify.file
- Non-null, possibly unloaded OriginalFile
which is used
to look up the file on disk.files
- OriginalFileServer
which knows how to find where this
OriginalFile
is stored on disk.parsers
- Map
of FileParser
instances to be used based
on the Format
of the OriginalFile
boost
- Positive float which increases or decreases search importance
for a field. Default is 1.0.protected <T extends IObject> void reindex(T object)
ReindexMessage
which will get processed
asynchronously.protected <T extends IObject> void reindexAll(List<T> list)
ReindexMessage
which will get processed
asynchronously.protected Iterable<Reader> parse(OriginalFile file, OriginalFilesService files, Map<String,FileParser> parsers)
OriginalFile
. If any of the
necessary components is null, then it will return an empty, but not null
Iterable
. Also looks for the catch all parser under "*"file
- Can be null.
Version: 5.1.3-ice35-b52
Copyright © 2015 The University of Dundee & Open Microscopy Environment. All Rights Reserved.