|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.query.lucene.NodeIndexer
public class NodeIndexer
Creates a lucene Document
object from a Node
.
Field Summary | |
---|---|
protected static float |
DEFAULT_BOOST
The default boost for a lucene field: 1.0f. |
protected List |
doNotUseInExcerpt
List of FieldNames.FULLTEXT fields which should not be used in
an excerpt. |
protected TextExtractor |
extractor
Content extractor. |
protected IndexFormatVersion |
indexFormatVersion
Indicates index format for this node indexer. |
protected IndexingConfiguration |
indexingConfig
The indexing configuration or null if none is available. |
protected NamespaceMappings |
mappings
Namespace mappings to use for indexing. |
protected NodeState |
node
The NodeState of the node to index |
protected NamePathResolver |
resolver
Name and Path resolver. |
protected ItemStateManager |
stateProvider
The persistent item state provider |
protected boolean |
supportHighlighting
If set to true the fulltext field is stored and and a term
vector is created with offset information. |
Constructor Summary | |
---|---|
NodeIndexer(NodeState node,
ItemStateManager stateProvider,
NamespaceMappings mappings,
TextExtractor extractor)
Creates a new node indexer. |
Method Summary | |
---|---|
protected void |
addBinaryValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the binary value to the document as the named field. |
protected void |
addBooleanValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the string representation of the boolean value to the document as the named field. |
protected void |
addCalendarValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the calendar value to the document as the named field. |
protected void |
addDoubleValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the double value to the document as the named field. |
protected void |
addLength(org.apache.lucene.document.Document doc,
String propertyName,
InternalValue value)
Adds a FieldNames.PROPERTY_LENGTHS field to document
with a named length value. |
protected void |
addLongValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the long value to the document as the named field. |
protected void |
addNameValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the name value to the document as the named field. |
protected void |
addNodeName(org.apache.lucene.document.Document doc,
String namespaceURI,
String localName)
Depending on the index format version adds one or two fields to the document for the node name. |
protected void |
addParentChildRelation(org.apache.lucene.document.Document doc,
NodeId parentId)
Adds a parent child relation to the given doc . |
protected void |
addPathValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the path value to the document as the named field. |
protected void |
addReferenceValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Adds the reference value to the document as the named field. |
protected void |
addStringValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue)
Deprecated. Use addStringValue(Document, String, Object, boolean) instead. |
protected void |
addStringValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue,
boolean tokenized)
Adds the string value to the document both as the named field and optionally for full text indexing if tokenized is
true . |
protected void |
addStringValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue,
boolean tokenized,
boolean includeInNodeIndex,
float boost)
Deprecated. use addStringValue(Document, String, Object, boolean, boolean, float, boolean) instead. |
protected void |
addStringValue(org.apache.lucene.document.Document doc,
String fieldName,
Object internalValue,
boolean tokenized,
boolean includeInNodeIndex,
float boost,
boolean useInExcerpt)
Adds the string value to the document both as the named field and optionally for full text indexing if tokenized is
true . |
protected org.apache.lucene.document.Document |
createDoc()
Creates a lucene Document. |
protected org.apache.lucene.document.Field |
createFieldWithoutNorms(String fieldName,
String internalValue,
int propertyType)
Creates a field of name fieldName with the value of
internalValue . |
protected org.apache.lucene.document.Fieldable |
createFulltextField(Reader value)
Creates a fulltext field for the reader value . |
protected org.apache.lucene.document.Field |
createFulltextField(String value)
Deprecated. use createFulltextField(String, boolean, boolean) instead. |
protected org.apache.lucene.document.Field |
createFulltextField(String value,
boolean store,
boolean withOffsets)
Creates a fulltext field for the string value . |
protected float |
getNodeBoost()
|
NodeId |
getNodeId()
Returns the NodeId of the indexed node. |
protected float |
getPropertyBoost(Name propertyName)
Returns the boost value for the given property name. |
protected InternalValue |
getValue(Name name)
Utility method that extracts the first value of the named property of the current node. |
protected boolean |
isIncludedInNodeIndex(Name propertyName)
Returns true if the property with the given name should also
be added to the node scope index. |
protected boolean |
isIndexed(Name propertyName)
Returns true if the property with the given name should be
indexed. |
void |
setIndexFormatVersion(IndexFormatVersion indexFormatVersion)
Sets the index format version |
void |
setIndexingConfiguration(IndexingConfiguration config)
Sets the indexing configuration for this node indexer. |
void |
setSupportHighlighting(boolean b)
If set to true additional information is stored in the index
to support highlighting using the rep:excerpt pseudo property. |
protected boolean |
useInExcerpt(Name propertyName)
Returns true if the content of the property with the given
name should the used to create an excerpt. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final float DEFAULT_BOOST
protected final NodeState node
NodeState
of the node to index
protected final ItemStateManager stateProvider
protected final NamespaceMappings mappings
protected final NamePathResolver resolver
protected final TextExtractor extractor
protected IndexingConfiguration indexingConfig
null
if none is available.
protected boolean supportHighlighting
true
the fulltext field is stored and and a term
vector is created with offset information.
protected IndexFormatVersion indexFormatVersion
protected List doNotUseInExcerpt
FieldNames.FULLTEXT
fields which should not be used in
an excerpt.
Constructor Detail |
---|
public NodeIndexer(NodeState node, ItemStateManager stateProvider, NamespaceMappings mappings, TextExtractor extractor)
node
- the node state to index.stateProvider
- the persistent item state manager to retrieve properties.mappings
- internal namespace mappings.extractor
- content extractorMethod Detail |
---|
public NodeId getNodeId()
NodeId
of the indexed node.
NodeId
of the indexed node.public void setSupportHighlighting(boolean b)
true
additional information is stored in the index
to support highlighting using the rep:excerpt pseudo property.
b
- true
to enable highlighting support.public void setIndexFormatVersion(IndexFormatVersion indexFormatVersion)
indexFormatVersion
- the index format versionpublic void setIndexingConfiguration(IndexingConfiguration config)
config
- the indexing configuration.protected org.apache.lucene.document.Document createDoc() throws RepositoryException
RepositoryException
- if an error occurs while reading property
values from the ItemStateProvider
.protected void addBinaryValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
node
is of type nt:resource
and if that is the case, tries to extract text from the binary property
using the extractor
.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected InternalValue getValue(Name name) throws ItemStateException
null
if the property does
not exist or contains no values.
name
- property name
null
ItemStateException
- if the property can not be accessedprotected void addBooleanValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected org.apache.lucene.document.Field createFieldWithoutNorms(String fieldName, String internalValue, int propertyType)
fieldName
with the value of
internalValue
. The created field is indexed without norms.
fieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.propertyType
- the property type.protected void addCalendarValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
DateField
class.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addDoubleValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
DoubleField
class.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addLongValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
LongField
class.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addReferenceValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addPathValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addStringValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
addStringValue(Document, String, Object, boolean)
instead.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected void addStringValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue, boolean tokenized)
tokenized
is
true
.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.tokenized
- If true
the string is also tokenized
and fulltext indexed.protected void addStringValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue, boolean tokenized, boolean includeInNodeIndex, float boost)
addStringValue(Document, String, Object, boolean, boolean, float, boolean)
instead.
tokenized
is
true
.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the
document.tokenized
- If true
the string is also
tokenized and fulltext indexed.includeInNodeIndex
- If true
the string is also
tokenized and added to the node scope fulltext
index.boost
- the boost value for this string field.protected void addStringValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue, boolean tokenized, boolean includeInNodeIndex, float boost, boolean useInExcerpt)
tokenized
is
true
.
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the
document.tokenized
- If true
the string is also
tokenized and fulltext indexed.includeInNodeIndex
- If true
the string is also
tokenized and added to the node scope fulltext
index.boost
- the boost value for this string field.useInExcerpt
- If true
the string may show up in
an excerpt.protected void addNameValue(org.apache.lucene.document.Document doc, String fieldName, Object internalValue)
doc
- The document to which to add the fieldfieldName
- The name of the field to addinternalValue
- The value for the field to add to the document.protected org.apache.lucene.document.Field createFulltextField(String value)
createFulltextField(String, boolean, boolean)
instead.
value
.
value
- the string value.
protected org.apache.lucene.document.Field createFulltextField(String value, boolean store, boolean withOffsets)
value
.
value
- the string value.store
- if the value of the field should be stored.withOffsets
- if a term vector with offsets should be stored.
protected org.apache.lucene.document.Fieldable createFulltextField(Reader value)
value
.
value
- the reader value.
protected boolean isIndexed(Name propertyName)
true
if the property with the given name should be
indexed.
propertyName
- name of a property.
true
if the property should be fulltext indexed;
false
otherwise.protected boolean isIncludedInNodeIndex(Name propertyName)
true
if the property with the given name should also
be added to the node scope index.
propertyName
- the name of a property.
true
if it should be added to the node scope index;
false
otherwise.protected boolean useInExcerpt(Name propertyName)
true
if the content of the property with the given
name should the used to create an excerpt.
propertyName
- the name of a property.
true
if it should be used to create an excerpt;
false
otherwise.protected float getPropertyBoost(Name propertyName)
propertyName
- the name of a property.
protected float getNodeBoost()
node
state.protected void addLength(org.apache.lucene.document.Document doc, String propertyName, InternalValue value)
FieldNames.PROPERTY_LENGTHS
field to document
with a named length value.
doc
- the lucene document.propertyName
- the property name.value
- the internal value.protected void addNodeName(org.apache.lucene.document.Document doc, String namespaceURI, String localName) throws NamespaceException
doc
- the lucene document.namespaceURI
- the namespace URI of the node name.localName
- the local name of the node.
NamespaceException
protected void addParentChildRelation(org.apache.lucene.document.Document doc, NodeId parentId) throws ItemStateException, RepositoryException
doc
.
doc
- the document.parentId
- the id of the parent node.
ItemStateException
- if the parent node cannot be read.
RepositoryException
- if the parent node does not have a child node
entry for the current node.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |