public class LuceneEdgeIndex extends LuceneIndex<Edge>
EDGE_ID_PROP, EDGE_LABEL_PROP, END_NODE_ID_PROP, START_NODE_ID_PROP, TYPE_DT_BOOL, TYPE_DT_DATE, TYPE_DT_DOUBLE, TYPE_DT_FLOAT, TYPE_DT_INTEGER, TYPE_DT_SERIALIZABLE, TYPE_DT_STRING, VERTEX_ID_PROP
Constructor and Description |
---|
LuceneEdgeIndex(String indexName, OraclePropertyGraphBase oraclePropertyGraph, Parameter<String,Object>[] indexParameters, boolean erase)
Constructs a new LuceneEdgeIndex object.
|
Modifier and Type | Method and Description |
---|---|
CloseableIterable<Edge> |
get(String key, Object value, Class dtClass, boolean acceptWildcard)
Gets all edges indexed by the provided key/value.
|
String |
getDocIdentifier()
Gets the document's identifier associated to this index.
|
CloseableIterable<Edge>[] |
getPartitioned(Object[] connections, String key, Object value, Class dtClass, boolean acceptWildcard, int startShardId)
Gets an array of
CloseableIterable objects that hold all the edges with an attribute matching the given K/V pair. |
void |
refreshIndex(long lStartSCN, long lEndSCN)
Auto-refresh an index based on all insert/deletes between the specified start and end SCN.
|
add, addToDeleteCache, buildSearchTerm, buildSearchTerm, clearIndex, close, commit, count, count, count, deleteExistingDirectories, dropIndex, get, get, getDirectory, getDirectoryName, getGraphName, getIndexClass, getIndexName, getIndexParameters, getOracleDirectory, getOracleIndexParameters, getOracleSearcherManager, getParameters, getPartitioned, getSearcherFactory, getTotalShards, isAutoIndex, isDelBatchEmpty, isDelBatchFull, isUpdatesBatchEmpty, isUpdatesBatchFull, put, put, query, query, remove, remove, remove, remove, removeAll, removeAll
public LuceneEdgeIndex(String indexName, OraclePropertyGraphBase oraclePropertyGraph, Parameter<String,Object>[] indexParameters, boolean erase)
indexName
- the name of the indexoraclePropertyGraph
- an OraclePropertyGraphBase
object.indexParameters
- a collection of parameters for the underlying index implementation.erase
- a boolean specifying if the index should be cleared at the beginning.public CloseableIterable<Edge> get(String key, Object value, Class dtClass, boolean acceptWildcard)
get
in interface OracleIndex<Edge>
get
in class LuceneIndex<Edge>
key
- the key of the indexed elements.value
- the value of the indexed elements.dtClass
- the class representing the datatype of the property value. This can be used to cast the property value to a different datatype. For example, if the value is "3.01" and dtValue is Float.Class, then this value will be treated as a 3.01f.acceptWildcard
- specifies if wild cards can be used in the value object. the indexpublic String getDocIdentifier()
getDocIdentifier
in interface OracleIndex<Edge>
getDocIdentifier
in class LuceneIndex<Edge>
public CloseableIterable<Edge>[] getPartitioned(Object[] connections, String key, Object value, Class dtClass, boolean acceptWildcard, int startShardId)
CloseableIterable
objects that hold all the edges with an attribute matching the given K/V pair. Each edge in the CloseableIterable
array uses a separate connection provided to fetch a subset of the results from a corresponding Lucene sub-directory. Note that we assign an integer ID (in the range of [0, N - 1]) to all the sub-directories in a Lucene index with N shards. The subset of shards (subdirectories) queried will consist of those shards with ID value in the range of [startShardId, startShardId - 1 + size of connections array].getPartitioned
in interface OracleIndex<Edge>
getPartitioned
in class LuceneIndex<Edge>
connections
- an array of connections to the Lucene index Each edge of this array should be of type SearcherManager. See LuceneIndex.getOracleSearcherManager(int)
.key
- the key of a propertyvalue
- the value object of the property.acceptWildcard
- specifies if wild cards can be used in the value object.startShardId
- the ID of the starting shard.dtClass
- the class representing the datatype of the property value. This can be used to cast the property value to a different datatype. For example, if the value is "3.01" and dtValue is Float.Class, then this value will be treated as a 3.01f.CloseableIterable
object.public void refreshIndex(long lStartSCN, long lEndSCN)
refreshIndex
in interface OracleIndex<Edge>
refreshIndex
in class LuceneIndex<Edge>
lStartSCN
- start SCN value. A NULL value will be treated as MINVALUE to the underlying Oracle Database.lEndSCN
- end SCN value. A NULL value will be treated as MAXVALUE to the underlying Oracle Database.Copyright © 2015 Oracle and/or its afflilates. All Rights Reserved.