public interface Index
Documents
as well as synchronous and asynchronous
searching for Documents for a given Query
. The following
code fragment shows how to add documents, then search the index for
documents matching a query.
// Get the SearchService for the default namespace SearchService searchService = SearchServiceFactory.getSearchService(); // Get the index. If not yet created, create it. Index index = searchService.getIndex( IndexSpec.newBuilder().setIndexName("indexName")); // Create a document. Document document = Document.newBuilder() .setId("documentId") .addField(Field.newBuilder().setName("subject").setText("my first email")) .addField(Field.newBuilder().setName("body") .setHTML("<html>some content here</html>") .build(); // Put the document. try { index.put(document); } catch (PutException e) { if (StatusCode.TRANSIENT_ERROR.equals(e.getOperationResult().getCode())) { // retry putting document } } // Query the index. try { Results<ScoredDocument> results = index.search(Query.newBuilder().build("subject:first body:here")); // Iterate through the search results. for (ScoredDocument document : results) { // display results } } catch (SearchException e) { if (StatusCode.TRANSIENT_ERROR.equals(e.getOperationResult().getCode())) { // retry } }
Modifier and Type | Method and Description |
---|---|
void |
delete(java.lang.Iterable<java.lang.String> documentIds) |
void |
delete(java.lang.String... documentIds)
Delete documents for the given document ids from the index if
they are in the index.
|
java.util.concurrent.Future<java.lang.Void> |
deleteAsync(java.lang.Iterable<java.lang.String> documentIds) |
java.util.concurrent.Future<java.lang.Void> |
deleteAsync(java.lang.String... documentId) |
void |
deleteSchema()
Deprecated.
as of 1.7.4
|
java.util.concurrent.Future<java.lang.Void> |
deleteSchemaAsync()
Deprecated.
as of 1.7.4
|
Document |
get(java.lang.String documentId)
Gets a
Document for the given document Id. |
java.lang.String |
getName() |
java.lang.String |
getNamespace() |
GetResponse<Document> |
getRange(GetRequest.Builder builder) |
GetResponse<Document> |
getRange(GetRequest request)
Get an index's documents, in document Id order.
|
java.util.concurrent.Future<GetResponse<Document>> |
getRangeAsync(GetRequest.Builder builder) |
java.util.concurrent.Future<GetResponse<Document>> |
getRangeAsync(GetRequest request) |
Schema |
getSchema() |
long |
getStorageLimit() |
long |
getStorageUsage() |
PutResponse |
put(Document... documents)
Put the documents into the index, updating any document that is already
present.
|
PutResponse |
put(Document.Builder... builders) |
PutResponse |
put(java.lang.Iterable<Document> documents) |
java.util.concurrent.Future<PutResponse> |
putAsync(Document... document) |
java.util.concurrent.Future<PutResponse> |
putAsync(Document.Builder... document) |
java.util.concurrent.Future<PutResponse> |
putAsync(java.lang.Iterable<Document> documents) |
Results<ScoredDocument> |
search(Query query)
Search the index for documents matching the query.
|
Results<ScoredDocument> |
search(java.lang.String query)
Search the index for documents matching the query string.
|
java.util.concurrent.Future<Results<ScoredDocument>> |
searchAsync(Query query) |
java.util.concurrent.Future<Results<ScoredDocument>> |
searchAsync(java.lang.String query) |
java.lang.String getName()
java.lang.String getNamespace()
java.util.concurrent.Future<java.lang.Void> deleteAsync(java.lang.String... documentId)
delete(String...)
java.util.concurrent.Future<java.lang.Void> deleteAsync(java.lang.Iterable<java.lang.String> documentIds)
delete(String...)
@Deprecated java.util.concurrent.Future<java.lang.Void> deleteSchemaAsync()
deleteSchema()
java.util.concurrent.Future<PutResponse> putAsync(Document... document)
put(Document...)
java.util.concurrent.Future<PutResponse> putAsync(Document.Builder... document)
put(Document...)
java.util.concurrent.Future<PutResponse> putAsync(java.lang.Iterable<Document> documents)
put(Document...)
java.util.concurrent.Future<Results<ScoredDocument>> searchAsync(java.lang.String query)
search(String)
java.util.concurrent.Future<Results<ScoredDocument>> searchAsync(Query query)
search(Query)
java.util.concurrent.Future<GetResponse<Document>> getRangeAsync(GetRequest request)
getRange(GetRequest)
java.util.concurrent.Future<GetResponse<Document>> getRangeAsync(GetRequest.Builder builder)
getRange(GetRequest)
void delete(java.lang.String... documentIds)
documentIds
- the ids of documents to deleteDeleteException
- if there is a failure in the search
service deleting documentsjava.lang.IllegalArgumentException
- if some document id is invalidvoid delete(java.lang.Iterable<java.lang.String> documentIds)
delete(String...)
@Deprecated void deleteSchema()
DeleteException
- if there is a failure in the search service
deleting the schemaPutResponse put(Document... documents)
documents
- the documents to put into the indexPutResponse
containing the result of
the put operations indicating success or failure as well as the document
ids. The search service will allocate document ids for documents which
have none providedPutException
- if there is a failure in the search
service putting documentsjava.lang.IllegalArgumentException
- if some document is invalid or
more than IndexChecker#MAXIMUM_DOCS_PER_REQUEST
documents
requested to be put into the indexPutResponse put(Document.Builder... builders)
put(Document...)
PutResponse put(java.lang.Iterable<Document> documents)
put(Document...)
Document get(java.lang.String documentId)
Document
for the given document Id.documentId
- the identifier for the document to retrieveDocument
. can be nullResults<ScoredDocument> search(java.lang.String query)
query
- the query stringResults
containing
ScoredDocuments
SearchQueryException
- if the query string is invalidSearchException
- if there is a failure in the search service
performing the searchsearch(Query)
Results<ScoredDocument> search(Query query)
query
- the fully specified Query
objectResults
containing
ScoredDocuments
java.lang.IllegalArgumentException
- if the query is invalidSearchQueryException
- if the query string is invalidSearchException
- if there is a failure in the search service
performing the searchGetResponse<Document> getRange(GetRequest request)
request
- contains various options restricting which documents are
returned.GetResponse
containing a list of
documents from the indexjava.lang.IllegalArgumentException
- if the get request is invalidGetResponse<Document> getRange(GetRequest.Builder builder)
getRange(GetRequest)
Schema getSchema()
Schema
describing supported document field names and
Field.FieldType
s supported for those field names. This schema
will only be populated if the GetIndexesRequest.isSchemaFetched()
is set to true
on a SearchService.getIndexes(com.google.appengine.api.search.GetIndexesRequest)
requestlong getStorageUsage()
java.lang.UnsupportedOperationException
- if called on an Index
object that is not the result of a
SearchService.getIndexes(com.google.appengine.api.search.GetIndexesRequest)
requestlong getStorageLimit()
java.lang.UnsupportedOperationException
- if called on an Index
object that is not the result of a
SearchService.getIndexes(com.google.appengine.api.search.GetIndexesRequest)