@ExperimentalApi
public interface SearchIndexAccessor
Modifier and Type | Method and Description |
---|---|
void |
execute(SearchIndexAction action)
Executes a SearchIndexAction on the underlying search index.
|
int |
numDocs()
Get the total number of index documents for the underlying search index
|
void |
optimize()
Manually optimize the index for search by merging segments.
|
void |
reset(Runnable replaceIndex)
Execute a method after the index has been closed and before the index has been reopened
|
long |
scan(SearchQuery searchQuery,
Set<String> requestedFields,
Consumer<Map<String,String[]>> consumer)
Scans the index for documents that match the provided searchQuery.
|
long |
scan(SearchQuery searchQuery,
Set<String> requestedFields,
Consumer<ScannedDocument> consumer,
float defaultScore)
Scans the index for documents that match the provided searchQuery.
|
SearchResults |
search(ISearch search,
Set<String> requestedFields)
Perform a search with a given criteria, the returns searchResults only have the fields requested in the
projection filled out, no other fields are valid in the searchResult.
|
void |
snapshot(File destinationDirectory)
Take a snapshot of the current index and store it into the destination directory
|
void |
withBatchUpdate(BatchUpdateAction batchUpdateAction)
Execute the update action in a batch
|
SearchResults search(ISearch search, Set<String> requestedFields) throws InvalidSearchException
FieldNotRequestedException
if an attempt is made to access a field value that has not
had it's key included in the projection Set.
Will throw an InvalidSearchException if some error occurred converting the search object into a search that could be performed in the back-end. Usually this is a sign that some plugin that was used to create the search is no longer available.
search
- the search to performrequestedFields
- requested fields. Passing null
will request all fields, and passing empty set will request none.SearchResults
instanceInvalidSearchException
long scan(SearchQuery searchQuery, Set<String> requestedFields, Consumer<Map<String,String[]>> consumer)
Note that it is possible for a document to match the query, but not have any of the requested fields. This will result in an empty String[] for those fields that don't exist on the document. If you don't want to return those documents, you should specify a consumer that filters these out.
searchQuery
- SearchQuery to scan the index for.requestedFields
- Set of field names that are requested from the index.
Any fields provided here that is not on the document will return an empty String[]
When providing an empty set, the consumer will only get empty maps to consume.consumer
- Consumer that handles each found document.SearchIndexAccessException
- if there is an IO error.long scan(SearchQuery searchQuery, Set<String> requestedFields, Consumer<ScannedDocument> consumer, float defaultScore)
ScannedDocument
, which contains a score (if scoreIncluded is true) and
a field-value map of the requested fields.
Note that it is possible for a document to match the query, but not have any of the requested fields as the other scan method.
This will result in an empty String[] for those fields that don't exist on the document. If you don't want to return those documents, you should specify a consumer that filters these out.
searchQuery
- SearchQuery to scan the index for.requestedFields
- Set of field names that are requested from the index.
Any fields provided here that is not on the document will return an empty String[]
When providing an empty set, the consumer will only get empty maps to consume.consumer
- Consumer that handles each found document.defaultScore
- a default score to be included in the ScannedDocument
if it is not possible
to retrieve the score for the document.SearchIndexAccessException
- if there is an IO error.void execute(SearchIndexAction action)
action
- SearchIndexActionSearchIndexAccessException
- if there is an io error.int numDocs()
void withBatchUpdate(BatchUpdateAction batchUpdateAction)
batchUpdateAction
- the batch update actionvoid snapshot(File destinationDirectory) throws SearchIndexAccessException
destinationDirectory
- the destination directorySearchIndexAccessException
- if the snapshot could not be takenvoid reset(Runnable replaceIndex)
replaceIndex
- the method that needs to be executedvoid optimize()
Copyright © 2003–2023 Atlassian. All rights reserved.
View cookie preferences