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_BYTE
This constant denotes a Byte data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_CHAR
This constant denotes a Character 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_JSON
This constant denotes a JSON data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_LONG
This constant denotes a Long 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_SHORT
This constant denotes a Short data type for the value field of an attribute (K/V pair)
|
static String |
TYPE_DT_SPATIAL
This constant denotes a Spatial 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 |
TYPE_DT_URI
This constant denotes an URI 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, m_dtValues, START_NODE_ID_PROP| 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 |
appendDatatypesSuffixToKey(String key,
Class dtValue)
This operation will append the data type suffix to the key
based on the LuceneIndex configuration.
|
String |
appendDatatypesSuffixToValue(Object value,
Class dtValue)
This operation will append the data type suffix to the String representation of the
given value based on the LuceneIndex configuration.
|
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
|
void |
commit(org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
Commit changes using the given CloudSolrServer object
|
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
|
abstract CloseableIterable<T> |
get(Object solrQuery)
Gets an Iterable object with all the matching elements that match the
given query object.
|
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.
|
abstract CloseableIterable<T>[] |
getPartitioned(Object[] connections,
Object query,
int startShardId)
Gets an array of
CloseableIterable objects that hold all the elements
with an attribute matching the given K/V pair. |
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
|
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.
|
public static final String EDGE_ID_PROP
public static final String TYPE_DT_BOOL
public static final String TYPE_DT_BYTE
public static final String TYPE_DT_CHAR
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_JSON
public static final String TYPE_DT_LONG
public static final String TYPE_DT_SERIALIZABLE
public static final String TYPE_DT_SHORT
public static final String TYPE_DT_SPATIAL
public static final String TYPE_DT_STRING
public static final String TYPE_DT_URI
public static final String VERSION_PROP
public static final String VERTEX_ID_PROP
public void add(T element)
add in interface OracleIndex<T extends Element>element - a Element object.IOExceptionpublic 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.IOExceptionpublic String appendDatatypesSuffixToKey(String key, Class dtValue)
key - the key of the K/V propertydtValue - the data type of the value objectpublic String appendDatatypesSuffixToValue(Object value, Class dtValue)
value - the value of the K/V propertydtValue - the data type of the value objectpublic 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 - 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 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 void commit(org.apache.solr.client.solrj.impl.CloudSolrServer cloudSolrServer)
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 abstract CloseableIterable<T> get(Object solrQuery)
get in interface OracleIndex<T extends Element>solrQuery - a object representing the text query to execute.CloseableIterable object.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 abstract CloseableIterable<T>[] getPartitioned(Object[] connections, Object query, int startShardId)
CloseableIterable objects that hold all the elements
with an attribute matching the given K/V pair. This object can be either a String text search query,
a SolrQuery object or a QueryResponse from SolrCloud. 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).startShardId - the ID of the starting shard.query - the query object.CloseableIterable object.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 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.IOExceptionpublic void removeAll(String key)
removeAll in interface OracleIndex<T extends Element>key - the key to remove from the index.Copyright © 2017 Oracle and/or its affiliates. All Rights Reserved.