GAE Datastore search not working on local development instance (Java)

98 views Asked by At

My local instance of Java Google App Engine seems to index search documents just fine, but started throwing an exception when running a search. Code snippet and exception included. TIA!

Code for searching :

QueryOptions options = QueryOptions.newBuilder()
            .setLimit(500)
            .build();
    String queryString = searchStr;
    Query query = Query.newBuilder().setOptions(options).build(queryString);

    IndexSpec indexSpec = IndexSpec.newBuilder().setName(projectName + "Search").build(); 
    Index index = SearchServiceFactory.getSearchService().getIndex(indexSpec);

    Results<ScoredDocument> results = null;

    try {

        results = index.search(query);

    } catch (SearchException e) {

    }

Exception:

java.lang.NullPointerException at com.google.appengine.repackaged.com.google.appengine.api.search.SearchServicePb$ListDocumentsResponse$Builder.addDocument(SearchServicePb.java:13298) at com.google.appengine.api.search.dev.LocalSearchService.listDocumentsForApp(LocalSearchService.java:527) at com.google.appengine.api.search.dev.LocalSearchService.getFieldTypes(LocalSearchService.java:710) at com.google.appengine.api.search.dev.LocalSearchService.searchForApp(LocalSearchService.java:564) at com.google.appengine.api.search.dev.LocalSearchService.search(LocalSearchService.java:547) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:525) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:479) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:456) at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:493) at java.security.AccessController.doPrivileged(Native Method) at java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:490) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)

0

There are 0 answers