ElasticDB
ElasticDB is a base class used to connect an Elasticsearch database and manages queries.
- class DIRAC.Core.Base.ElasticDB.ElasticDB(dbname, fullName, indexPrefix='', parentLogger=None)
Bases:
DIRACDB
,ElasticSearchDB
Class for interfacing DIRAC ES DB definitions to ES clusters
- RESULT_SIZE = 10000
- __init__(dbname, fullName, indexPrefix='', parentLogger=None)
c’tor
- Parameters:
- bulk_index(indexPrefix, data=None, mapping=None, period='day', withTimeStamp=True)
- Parameters:
- Returns:
S_OK/S_ERROR
- clusterName = ''
- createIndex(indexPrefix, mapping=None, period='day')
- deleteByQuery(indexName, query)
Delete data by query (careful!)
- deleteDoc(index: str, docID: str)
Deletes a document in an index.
- Parameters:
index – name of the index
docID – document ID
- existingIndex(indexName)
Checks the existance of an index, by its name
- Parameters:
indexName (str) – the name of the index
- Returns:
S_OK/S_ERROR if the request is successful
- existsDoc(index: str, docID: str) bool
Returns information about whether a document exists in an index.
- Parameters:
index – name of the index
docID – document ID
- static generateFullIndexName(indexName, period)
Given an index prefix we create the actual index name.
- getCSOption(optionName, defaultValue=None)
- getDoc(index: str, docID: str) dict
Retrieves a document in an index.
- Parameters:
index – name of the index
docID – document ID
- getDocTypes(indexName)
Returns mappings, by index.
- Parameters:
indexName (str) – is the name of the index…
- Returns:
S_OK or S_ERROR
- getDocs(indexFunc, docIDs: list[str]) list[dict]
Efficiently retrieve many documents from an index.
- Parameters:
index – name of the index
docIDs – document IDs
- getIndexPrefix()
It returns the DIRAC setup.
- getIndexes(indexName=None)
It returns the available indexes…
- getUniqueValue(indexName, key, orderBy=False)
- index(indexName, body=None, docID=None, op_type='index')
- pingDB()
Try to connect to the database
- Returns:
S_OK(TRUE/FALSE)
- update(index: str, query=None, updateByQuery: bool = True, docID: str = None)
Executes an update of a document, and returns S_OK/S_ERROR
- Parameters:
index – index name
query – It is the query in ElasticSearch DSL language
updateByQuery – A bool to determine update by query or index values using index function.
docID – ID for the document to be created.