public abstract class SolrAutoIndex<T extends Element> extends SolrIndex<T> implements OracleAutoIndex<T>
EDGE_ID_PROP, TYPE_DT_BOOL, TYPE_DT_DATE, TYPE_DT_DOUBLE, TYPE_DT_FLOAT, TYPE_DT_INTEGER, TYPE_DT_SERIALIZABLE, TYPE_DT_STRING, VERSION_PROP, VERTEX_ID_PROP
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 |
---|
SolrAutoIndex(String indexName, Class<T> indexClass, OraclePropertyGraphBase graph, Parameter<String,Object>[] indexParameters, boolean erase)
Constructs a new SolrAutoIndex object.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this index object.
|
abstract void |
closeConnectionsArray()
Closes the connection array used for parallel scan in parallel indexing.
|
boolean |
containsIndexedKey(String key)
Verifies if the specified key is used in the automatic index.
|
abstract Object[] |
getConnectionsArray()
Gets the connection array used for parallel scan in parallel indexing.
|
abstract Iterable<T> |
getElementsFromPG()
Gets an Iterable<T> of elements from the associated property graph, matching the specified key.
|
Set<String> |
getIndexedKeys()
Get the keys associated to this auto index.
|
void |
indexElements()
Index elements in a property graph with respect to the current indexed keys.
|
void |
indexElementsPartitioned()
Index elements in a property graph with respect to the current indexed keys using getPartitioned APIs.
|
List<String> |
loadIndexedKeys()
Gets all the indices associated to this property graph and defined in the index meta data table.
|
void |
put(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Indexes an element with respect to the specified key and value.
|
void |
reindexElements()
Re-index the elements of the associated property graph based on the current indexed keys.
|
void |
reindexElements(String key)
Re-index the elements of the associated property graph based on the specified key.
|
void |
reindexElements(String[] indexedKeys)
Re-index the elements of the associated property graph based on the specified set of keys.
|
void |
reindexElementsNoPartitioned(String[] indexedKeys)
Re-index the elements of the associated property graph based on the specified set of keys.
|
void |
reindexElementsPartitioned()
Re-index the elements of the associated property graph based on the current indexed keys using getElementsPartitioned APIs.
|
void |
reindexElementsPartitioned(String key)
Re-index the elements of the associated property graph based on the specified key using getElementsPartitioned APIs.
|
void |
reindexElementsPartitioned(String[] indexedKeys)
Re-index all elements over a partitioned graph based on the specified set of keys.
|
add, add, buildSearchTerm, buildSearchTerm, clearIndex, commit, count, count, count, dropIndex, get, get, get, getCloudSolrServer, getDirectoryName, getDocIdentifier, getGraphName, getIndexClass, getIndexName, getIndexParameters, getOracleIndexParameters, getParameters, getPartitioned, getPartitioned, getShardsNames, getTotalShards, getTotalShards, isDelBatchEmpty, isDelBatchFull, isUpdatesBatchEmpty, isUpdatesBatchFull, put, query, query, remove, remove, remove, remove, removeAll
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
get, getElementsFromPG, getElementsFromPG, getElementsFromPG, getPartitionsNumber
add, buildSearchTerm, buildSearchTerm, clearIndex, commit, count, count, dropIndex, get, getDirectoryName, getDocIdentifier, getGraphName, getIndexClass, getOracleIndexParameters, getParameters, getPartitioned, getPartitioned, getTotalShards, isDelBatchEmpty, isDelBatchFull, isUpdatesBatchEmpty, isUpdatesBatchFull, query, refreshIndex, remove, removeAll
public SolrAutoIndex(String indexName, Class<T> indexClass, OraclePropertyGraphBase graph, Parameter<String,Object>[] indexParameters, boolean erase)
indexName
- the name of the index.indexClass
- the element class that this index is indexing (can be base class Vertex/Edge)graph
- 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 void close()
public abstract void closeConnectionsArray()
closeConnectionsArray
in interface OracleAutoIndex<T extends Element>
public boolean containsIndexedKey(String key)
containsIndexedKey
in interface OracleAutoIndex<T extends Element>
key
- the key to validate if exists within the automatic index.public abstract Object[] getConnectionsArray() throws Exception
getConnectionsArray
in interface OracleAutoIndex<T extends Element>
Exception
public abstract Iterable<T> getElementsFromPG()
getElementsFromPG
in interface OracleAutoIndex<T extends Element>
public final Set<String> getIndexedKeys()
getIndexedKeys
in interface OracleAutoIndex<T extends Element>
public final void indexElements()
indexElements
in interface OracleAutoIndex<T extends Element>
public final void indexElementsPartitioned()
indexElementsPartitioned
in interface OracleAutoIndex<T extends Element>
public List<String> loadIndexedKeys()
loadIndexedKeys
in interface OracleAutoIndex<T extends Element>
public final void put(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
put
in class SolrIndex<T extends Element>
key
- the key to index the element by.value
- the value to index the element by.element
- the element to index.cloudSolrServer
- if not null, use the opened CloudSolrServer connection, this avoids opening/closing a CloudSolrServer connection at flush time.public void reindexElements()
reindexElements
in interface OracleAutoIndex<T extends Element>
public void reindexElements(String key)
reindexElements
in interface OracleAutoIndex<T extends Element>
key
- the key to use for re-indexing.public void reindexElements(String[] indexedKeys)
reindexElements
in interface OracleAutoIndex<T extends Element>
indexedKeys
- an array of the indexed keys to use for re-indexing.public void reindexElementsNoPartitioned(String[] indexedKeys)
reindexElementsNoPartitioned
in interface OracleAutoIndex<T extends Element>
indexedKeys
- an array of the indexed keys to use for re-indexing.public void reindexElementsPartitioned()
reindexElementsPartitioned
in interface OracleAutoIndex<T extends Element>
public void reindexElementsPartitioned(String key)
reindexElementsPartitioned
in interface OracleAutoIndex<T extends Element>
key
- the key to use for re-indexing.public void reindexElementsPartitioned(String[] indexedKeys)
reindexElementsPartitioned
in interface OracleAutoIndex<T extends Element>
indexedKeys
- an array of keys to be indexed.Copyright © 2015 Oracle and/or its afflilates. All Rights Reserved.