Commands: Indexes: Get
There are few methods that allow you to retrieve an index from a database:
- GetIndex
- GetIndexes
- GetIndexNames
GetIndex
GetIndex is used to retrieve an index definition from a database.
Syntax
curl \
http://{serverName}/databases/{databaseName}/indexes/{indexName}?definition=yes \
-X GET
Request
Query parameter | Required | Description |
---|---|---|
indexName | Yes | Name of an index |
Response
Status code | Description |
---|---|
200 |
OK |
Return Value | Description |
---|---|
Index | IndexDefinition json |
Example I
Get Orders/Totals
index.
curl -X GET "http://localhost:8080/databases/NorthWind/indexes/Orders/Totals?definition=yes"
< HTTP/1.1 200 OK
{"Index":
{"IndexId":6,
"Name":"Orders/Totals",
"LockMode":"Unlock",
"Map":" from order in docs.Orders
select new {
order.Employee,
order.Company,
Total = order.Lines.Sum(l => (l.Quantity * l.PricePerUnit) * (1 - l.Discount))}",
"Maps":[
" from order in docs.Orders select new {
order.Employee,
order.Company,
Total = order.Lines.Sum(l => (l.Quantity * l.PricePerUnit) * (1 - l.Discount))}"],
"Reduce":null,
"IsMapReduce":false,
"IsCompiled":false,
"Stores":{},
"Indexes":{},
"SortOptions":{},
"Analyzers":{},
"Fields":["Total","__document_id","Employee","Company"],
"Suggestions":{},
"TermVectors":{},
"SpatialIndexes":{},
"InternalFieldsMapping":null,
"MaxIndexOutputsPerDocument":null,
"Type":"Map",
"DisableInMemoryIndexing":false
}
}
GetIndexes
GetIndexes is used to retrieve multiple index definitions from a database.
Syntax
curl \
http://{serverName}/databases/{databaseName}/indexes/ \
&start={start} \
&pageSize={pageSize} \
-X GET
Request
Query parameter | Required | Description |
---|---|---|
start | No | Number of indexes that should be skipped |
pageSize | No | Maximum number of indexes that will be retrieved |
Response
Status code | Description |
---|---|
200 |
OK |
Return Value | Description |
---|---|
payload | Array of IndexDefinition |
Example I
Get up to 10 index definitions
curl -X GET "http://localhost:8080/databases/NorthWind/indexes/?start=0&pageSize=10"
< HTTP/1.1 200 OK
[ indexDefinition, indexDefinition, ... ]
GetIndexNames
GetIndexNames is used to retrieve multiple index names from a database.
Syntax
curl \
http://{serverName}/databases/{databaseName}/indexes/? \
namesOnly=true \
&start={start} \
&pageSize={pageSize} \
-X GET
Request
Query parameter | Required | Description |
---|---|---|
start | No | Number of index names that should be skipped |
pageSize | No | Maximum number of index names that will be retrieved |
Response
Status code | Description |
---|---|
200 |
OK |
Return Value | Description |
---|---|
payload | list of strings: index names |
Example I
Gets up to 10 index names.
curl -X GET "http://localhost:8080/databases/NorthWind/indexes/?namesOnly=true&start=0&pageSize=10"
< HTTP/1.1 200 OK
["Orders/ByCompany","Orders/Total2s","Orders/Totals","Product/Sales","Raven/DocumentsByEntityName"]