com.google.appengine.api.search
Interface SearchService
-
public interface SearchService
The SearchService is used to get available indexes, which can be queried about their metadata or have index/delete/search operations performed on them. For example: SearchService is also responsible for creating new indexes. For example:SearchService searchService = SearchServiceFactory.getSearchService(); GetResponse<Index> response = searchService.getIndexes( GetIndexesRequest.newBuilder()); for (Index index : response) { index.getName(); index.getNamespace(); index.search("query"); }
SearchService searchService = SearchServiceFactory.getSearchService(); Index index = searchService.getIndex(IndexSpec.newBuilder().setName("myindex"));
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description Index
getIndex(IndexSpec.Builder builder)
Returns an instance ofIndex
corresponding to the specification built from the givenbuilder
.Index
getIndex(IndexSpec spec)
Returns an instance ofIndex
corresponding to the provided specification.GetResponse<Index>
getIndexes(GetIndexesRequest.Builder builder)
Gets the indexes specified in the request built from thebuilder
.GetResponse<Index>
getIndexes(GetIndexesRequest request)
Gets the indexes specified.java.util.concurrent.Future<GetResponse<Index>>
getIndexesAsync(GetIndexesRequest.Builder builder)
Gets the indexes asynchronously for those specified in the request built from thebuilder
.java.util.concurrent.Future<GetResponse<Index>>
getIndexesAsync(GetIndexesRequest request)
Gets the indexes requested asynchronously.java.lang.String
getNamespace()
Returns the namespace associated with this search service.
-
-
-
Method Detail
-
getIndex
Index getIndex(IndexSpec spec)
Returns an instance ofIndex
corresponding to the provided specification.- Returns:
- an instance of
Index
corresponding to the givenspec
-
getIndex
Index getIndex(IndexSpec.Builder builder)
Returns an instance ofIndex
corresponding to the specification built from the givenbuilder
.- Returns:
- an instance of
Index
corresponding to the givenspec
-
getNamespace
java.lang.String getNamespace()
Returns the namespace associated with this search service. Each service instance is assigned one namespace and all operations, such as listing documents, indexes inherit it. Also, when you get an index, the namespace of this service is passed to the returned index.- Returns:
- the namespace associated with this search service.
-
getIndexes
GetResponse<Index> getIndexes(GetIndexesRequest request)
Gets the indexes specified. The following code fragment shows how to get the schemas of each availableIndex
.// Get the SearchService for the default namespace SearchService searchService = SearchServiceFactory.newSearchService(); // Get the first page of indexes available and retrieve schemas GetResponse<Index> response = searchService.getIndexes( GetIndexesRequest.newBuilder().setSchemaFetched(true).build()); // List out elements of Schema for (Index index : response) { String name = index.getName(); Schema schema = index.getSchema(); for (String fieldName : schema.getFieldNames()) { List<FieldType> typesForField = schema.getFieldTypes(fieldName); } }
- Parameters:
request
- a request specifying which indexes to get- Returns:
- a
GetResponse
<Index>
containing a list of existing indexes - Throws:
GetException
- if there is a failure in the search service getting indexes
-
getIndexes
GetResponse<Index> getIndexes(GetIndexesRequest.Builder builder)
Gets the indexes specified in the request built from thebuilder
.- Parameters:
builder
- a builder to be used to construct aGetIndexesRequest
specifying which indexes to get- Returns:
- a
GetResponse
<Index>
containing a list of existing indexes
-
getIndexesAsync
java.util.concurrent.Future<GetResponse<Index>> getIndexesAsync(GetIndexesRequest request)
Gets the indexes requested asynchronously.- Parameters:
request
- a request specifying which indexes to get- Returns:
- a
Future
that will allow getting aGetResponse
<Index>
containing a list of existing indexes
-
getIndexesAsync
java.util.concurrent.Future<GetResponse<Index>> getIndexesAsync(GetIndexesRequest.Builder builder)
Gets the indexes asynchronously for those specified in the request built from thebuilder
.- Parameters:
builder
- a builder to be used to construct aGetIndexesRequest
specifying which indexes to get- Returns:
- a
Future
that will allow getting aGetResponse
<Index>
containing a list of existing indexes
-
-