title: elasticsearch java API: matchAll search query doesn't return results?
body: <p>I've got an in-memory instance of elastic search running, and doing some exploratory coding to learn the search java API. I am able to submit documents to the index and retrieve them using GET, but when I try a simple search query, I am not getting any results.</p>
  
  <pre><code>// first, try a get request, to make sure there is something in the index
  GetResponse results = client.prepareGet(INDEX_NAME, INDEX_TYPE, testID)
          .execute()
          .actionGet();
  // this assertion succeeds, as we expect it to.
  assertThat(results.getId()).isEqualTo(testID);
  
  // next, try the simplest possible search
  SearchResponse s1 = client.prepareSearch(INDEX_NAME).setQuery(matchAllQuery())
          .execute()
          .actionGet();
  // this assertion fails. why? answer: when we have an in-memory node, we have to 
  // manually call refresh on the indexing, after submitting a document.
  assertThat(s1.getHits().totalHits()).isGreaterThanOrEqualTo(1);
  </code></pre>
  
  <p>after some testing, I think the problem is in how I am setting up my Node and associated client (in memory):</p>
  
  <pre><code>@BeforeMethod
      public void setup() {
          // set up elastic search to run locally. since the transaction
          // log needs a filesystem, we can't run it as purely in memory,
          // but we can set the data directories into "target", so that maven will
          // clean up after the fact: http://bit.ly/OTN7Qf
          Settings settings = ImmutableSettings.settingsBuilder()
                  .put("node.http.enabled", true)
                  .put("path.logs","target/elasticsearch/logs")
                  .put("path.data","target/elasticsearch/data")
                  .put("gateway.type", "none")
                  .put("index.store.type", "memory")
                  .put("index.number_of_shards", 1)
                  .put("index.number_of_replicas", 1).build();
  
          node = NodeBuilder.nodeBuilder().local(true).settings(settings).node();
          client = node.client();
      }
  </code></pre>