SearchService (Google App Engine API for Java)

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 searchService = SearchServiceFactory.getSearchService();
     GetResponse<Index> response = searchService.getIndexes(
         GetIndexesRequest.newBuilder());
     for (Index index : response) {
       index.getName();
       index.getNamespace();
       index.search("query");
     }
     
    SearchService is also responsible for creating new indexes. For example:
     SearchService searchService = SearchServiceFactory.getSearchService();
     Index index = searchService.getIndex(IndexSpec.newBuilder().setName("myindex"));
     
    • Method Detail

      • getIndex

        Index getIndex(IndexSpec spec)
        Returns an instance of Index corresponding to the provided specification.
        Returns:
        an instance of Index corresponding to the given spec
      • getIndex

        Index getIndex(IndexSpec.Builder builder)
        Returns an instance of Index corresponding to the specification built from the given builder.
        Returns:
        an instance of Index corresponding to the given spec
      • 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 available Index.
        
           // 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
      • 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 a GetResponse<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 the builder.
        Parameters:
        builder - a builder to be used to construct a GetIndexesRequest specifying which indexes to get
        Returns:
        a Future that will allow getting a GetResponse<Index> containing a list of existing indexes