public abstract class SolrIndex<T extends Element> extends Object implements OracleIndex<T>
Modifier and Type | Field and Description |
---|---|
static String |
EDGE_ID_PROP
A constant text index field name for the ID of an edge
|
static String |
TYPE_DT_BOOL
This constant denotes a Boolean data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_DATE
This constant denotes a Date (java.util.Date) data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_DOUBLE
This constant denotes a Double data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_FLOAT
This constant denotes a Float data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_INTEGER
This constant denotes an Integer data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_SERIALIZABLE
This constant denotes a Serializable data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_STRING
This constant denotes a String data type for the value field of an attribute (K/V pair)
|
static String |
VERSION_PROP
This constant denotes an identifier for the version field of a document within the text index
|
static String |
VERTEX_ID_PROP
A constant text index field name for the ID of a vertex
|
EDGE_LABEL_PROP, END_NODE_ID_PROP, START_NODE_ID_PROP
Constructor and Description |
---|
SolrIndex(String indexName, Class<T> indexClass, OraclePropertyGraphBase oraclePropertyGraph, Parameter[] indexParameters, boolean clear)
Constructs a new SolrIndex object.
|
Modifier and Type | Method and Description |
---|---|
void |
add(T element)
Adds a new element into the index using all its key/value pairs.
|
void |
add(T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Adds a new element into the index using all its key/value pairs.
|
String |
buildSearchTerm(String key, Object value)
Builds a search term query expression in the syntax required by this index.
|
String |
buildSearchTerm(String key, Object value, Class dtClass)
Builds a search term query expression in the syntax required by this index.
|
void |
clearIndex()
Clears all data stored in the index.
|
void |
close()
Closes this SolrIndex object
|
void |
commit()
Commit changes
|
long |
count(String key, Object value)
Counts all the elements matching the specified K/V property within the index
|
long |
count(String key, Object value, boolean acceptWildcard)
Counts all the elements matching the specified K/V property within the index
|
long |
count(String key, Object value, Class dtClass, boolean acceptWildcard)
Counts all the elements matching the specified K/V property within the index
|
void |
dropIndex()
Drops the index data
|
CloseableIterable<T> |
get(String key, Object value)
Gets all the elements matching the specified K/V property within the index
|
CloseableIterable<T> |
get(String key, Object value, boolean acceptWildcard)
Gets all the elements matching the specified K/V property within the index
|
abstract CloseableIterable<T> |
get(String key, Object value, Class dtClass, boolean acceptWildcard)
Gets all the elements matching the specified K/V property within the index
|
org.apache.solr.client.solrj.impl.CloudSolrServer |
getCloudSolrServer(long timeout)
Gets a new CloudSolrServer object to handle operations over the index.
|
String |
getDirectoryName()
Gets the directory name for this index.
|
String |
getDocIdentifier()
Get index document's identifier.
|
String |
getGraphName()
Get the name of the associated graph
|
Class<T> |
getIndexClass()
Gets the element class associated to this index.
|
String |
getIndexName()
Gets the name of this index instance.
|
SolrParameters |
getIndexParameters()
Gets the index parameters utility associated to this index.
|
OracleIndexParameters |
getOracleIndexParameters()
Gets an
OracleIndexParameters wrapping the parameters associated to this index |
Parameter<String,Object>[] |
getParameters()
Gets the Parameters associated to this index.
|
CloseableIterable<T>[] |
getPartitioned(Object[] connections, String key, Object value, boolean acceptWildcard, int startShardId)
Gets an array of
CloseableIterable objects that hold all the elements with an attribute matching the given K/V pair. |
abstract CloseableIterable<T>[] |
getPartitioned(Object[] connections, String key, Object value, Class dtClass, boolean acceptWildcard, int startShardId)
Gets an array of
CloseableIterable objects that hold all the elements with an attribute matching the given K/V pair. |
List<String> |
getShardsNames()
Gets the list of shards' names used for this SolrCloud index
|
int |
getTotalShards()
Gets the number of shards (directories) in this index
|
int |
getTotalShards(org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Gets the number of shards (directories) in this index
|
boolean |
isDelBatchEmpty()
Verifies if the deletes batch associated to this index is empty.
|
boolean |
isDelBatchFull()
Verifies if the deletes batch associated to this index is full.
|
boolean |
isUpdatesBatchEmpty()
Verifies if the updates batch associated to this index is empty.
|
boolean |
isUpdatesBatchFull()
Verifies if the updates batch associated to this index is full.
|
void |
put(String key, Object value, T element)
Indexes an element by a key and a value.
|
void |
put(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Indexes an element by a key and a value.
|
CloseableIterable<T> |
query(String key, Object value)
Query for all the elements matching the specified K/V property within the index
|
CloseableIterable<T> |
query(String key, Object value, boolean useWildcards)
Query for all the elements matching the specified K/V property within the index
|
void |
remove(String key, Object value, Class dtClass, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Removes an element indexed by a particular key/value.
|
void |
remove(String key, Object value, T element)
Removes an element indexed by a particular key/value.
|
void |
remove(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Removes an element indexed by a particular key/value.
|
void |
remove(T element)
Deletes an element from this index
|
void |
removeAll(String key)
Removes all the elements from the index matching the specified key.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refreshIndex
public static final String EDGE_ID_PROP
public static final String TYPE_DT_BOOL
public static final String TYPE_DT_DATE
public static final String TYPE_DT_DOUBLE
public static final String TYPE_DT_FLOAT
public static final String TYPE_DT_INTEGER
public static final String TYPE_DT_SERIALIZABLE
public static final String TYPE_DT_STRING
public static final String VERSION_PROP
public static final String VERTEX_ID_PROP
public SolrIndex(String indexName, Class<T> indexClass, OraclePropertyGraphBase oraclePropertyGraph, Parameter[] indexParameters, boolean clear)
indexName
- the name of the indexindexClass
- the element class that this index is indexing (Vertex/Edge)oraclePropertyGraph
- an OraclePropertyGraphBase
object.indexParameters
- a collection of parameters for the underlying index implementation.clear
- a boolean specifying if the index should be cleared at the beginning.public void add(T element)
add
in interface OracleIndex<T extends Element>
element
- a Element
object.IOException
public void add(T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
element
- a Element
object.cloudSolrServer
- if not null, use the opened CloudSolrServer connection, this avoids opening/closing a CloudSolrServer connection at flush time.IOException
public String buildSearchTerm(String key, Object value)
buildSearchTerm
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertypublic String buildSearchTerm(String key, Object value, Class dtClass)
buildSearchTerm
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertydtClass
- class of the value objectpublic void clearIndex()
clearIndex
in interface OracleIndex<T extends Element>
public void close()
close
in interface OracleIndex<T extends Element>
public void commit()
commit
in interface OracleIndex<T extends Element>
public final long count(String key, Object value)
public final long count(String key, Object value, boolean acceptWildcard)
count
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyacceptWildcard
- specifies if wild cards can be used in the value object.CloseableIterable
object.public long count(String key, Object value, Class dtClass, boolean acceptWildcard)
count
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyacceptWildcard
- specifies if wild cards can be used in the value object.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 dtClass is Float.Class, then this value will be treated as a 3.01f.public final void dropIndex()
dropIndex
in interface OracleIndex<T extends Element>
public final CloseableIterable<T> get(String key, Object value)
get
in interface Index<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyCloseableIterable
object.public final CloseableIterable<T> get(String key, Object value, boolean acceptWildcard)
get
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyacceptWildcard
- specifies if wild cards can be used in the value object.CloseableIterable
object.public abstract CloseableIterable<T> get(String key, Object value, Class dtClass, boolean acceptWildcard)
get
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertydtClass
- the class representing the datatype of the searched values.acceptWildcard
- specifies if wild cards can be used in the value object.CloseableIterable
object.public org.apache.solr.client.solrj.impl.CloudSolrServer getCloudSolrServer(long timeout)
public final String getDirectoryName()
getDirectoryName
in interface OracleIndex<T extends Element>
public String getDocIdentifier()
getDocIdentifier
in interface OracleIndex<T extends Element>
public final String getGraphName()
getGraphName
in interface OracleIndex<T extends Element>
public final Class<T> getIndexClass()
getIndexClass
in interface Index<T extends Element>
getIndexClass
in interface OracleIndex<T extends Element>
public final String getIndexName()
getIndexName
in interface Index<T extends Element>
public SolrParameters getIndexParameters()
SolrParameters
object.public OracleIndexParameters getOracleIndexParameters()
OracleIndexParameters
wrapping the parameters associated to this indexgetOracleIndexParameters
in interface OracleIndex<T extends Element>
OracleIndexParameters
object.public Parameter<String,Object>[] getParameters()
getParameters
in interface OracleIndex<T extends Element>
Parameter
array.public final CloseableIterable<T>[] getPartitioned(Object[] connections, String key, Object value, boolean acceptWildcard, int startShardId)
CloseableIterable
objects that hold all the elements with an attribute matching the given K/V pair. Each element in the CloseableIterable
array uses a separate connection provided to fetch a subset of the results from a corresponding SolrCloud shard. Note that we assign an integer ID (in the range of [0, N - 1]) to all the shards in a SolrCloud cluster with N shards. The subset of shards queried will consist of those shards with ID value in the range of [startShardId, startShardId - 1 + size of connections array].getPartitioned
in interface OracleIndex<T extends Element>
connections
- an array of connections to the SolrCloud. Each element of this array should be of type CloudSolrServer. See getCloudSolrServer(long)
.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.CloseableIterable
object.public abstract CloseableIterable<T>[] getPartitioned(Object[] connections, String key, Object value, Class dtClass, boolean acceptWildcard, int startShardId)
CloseableIterable
objects that hold all the elements with an attribute matching the given K/V pair. Each element in the CloseableIterable
array uses a separate connection provided to fetch a subset of the results from a corresponding SolrCloud shard. Note that we assign an integer ID (in the range of [0, N - 1]) to all the shards in a SolrCloud cluster with N shards. The subset of shards queried will consist of those shards with ID value in the range of [startShardId, startShardId - 1 + size of connections array].getPartitioned
in interface OracleIndex<T extends Element>
connections
- an array of connections to the SolrCloud. Each element of this array should be of type CloudSolrServer. See getCloudSolrServer(long)
.key
- the key of a propertyvalue
- the value object of the property.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 dtClass 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.startShardId
- the ID of the starting shard.CloseableIterable
object.public List<String> getShardsNames()
public int getTotalShards()
getTotalShards
in interface OracleIndex<T extends Element>
public int getTotalShards(org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
cloudSolrServer
- if not null, use the opened CloudSolrServer connection, this avoids opening/closing a CloudSolrServer connection at flush time.public boolean isDelBatchEmpty()
isDelBatchEmpty
in interface OracleIndex<T extends Element>
public boolean isDelBatchFull()
isDelBatchFull
in interface OracleIndex<T extends Element>
public boolean isUpdatesBatchEmpty()
isUpdatesBatchEmpty
in interface OracleIndex<T extends Element>
public boolean isUpdatesBatchFull()
isUpdatesBatchFull
in interface OracleIndex<T extends Element>
public void put(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
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 final CloseableIterable<T> query(String key, Object value)
query
in interface Index<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyCloseableIterable
object.public final CloseableIterable<T> query(String key, Object value, boolean useWildcards)
query
in interface OracleIndex<T extends Element>
key
- the key of the K/V propertyvalue
- the value object of the K/V propertyuseWildcards
- specifies if wild cards can be used in the value object.CloseableIterable
object.public void remove(String key, Object value, Class dtClass, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
key
- the key of the indexed element.value
- the value of the indexed element.dtClass
- the data type class of the indexed element.element
- the element to remove given the key/value pair.cloudSolrServer
- if not null, use the opened CloudSolrServer connection, this avoids opening/closing a CloudSolrServer connection at flush time.public void remove(String key, Object value, T element)
public void remove(String key, Object value, T element, org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
key
- the key of the indexed element.value
- the value of the indexed element.element
- the element to remove given the key/value pair.cloudSolrServer
- if not null, use the opened CloudSolrServer connection, this avoids opening/closing a CloudSolrServer connection at flush time.public void remove(T element)
remove
in interface OracleIndex<T extends Element>
element
- an Element
object.IOException
public void removeAll(String key)
removeAll
in interface OracleIndex<T extends Element>
key
- the key to remove from the index.Copyright © 2015 Oracle and/or its afflilates. All Rights Reserved.