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_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_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
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_LONG
public static final String TYPE_DT_SERIALIZABLE
public static final String TYPE_DT_SHORT
public static final String TYPE_DT_STRING
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.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 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
- 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 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 SolrQuery
object.
the indexCloseableIterable
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. 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)
.query
- a SolrQuery
object.startShardId
- the ID of the starting shard.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.IOException
public void removeAll(String key)
removeAll
in interface OracleIndex<T extends Element>
key
- the key to remove from the index.Copyright © 2016 Oracle and/or its affiliates. All Rights Reserved.