code: @Override
      public Map<String, Object> search(Class<?> clazz, EntityMetadata m, String luceneQuery, int start, int count)
      {
          if (log.isInfoEnabled())
          {
              log.info("Executing lucene query " + luceneQuery);
          }
  
          ListenableActionFuture<SearchResponse> listenableActionFuture = client
                  .prepareSearch(m.getSchema().toLowerCase()).setQuery(QueryBuilders.queryStringQuery(luceneQuery))
                  .setSize(40000).execute();
          SearchResponse response = listenableActionFuture.actionGet();
  
          Map<String, Object> results = new HashMap<String, Object>();
          for (SearchHit hit : response.getHits())
          {
              Object id = PropertyAccessorHelper.fromSourceToTargetClass(
                      ((AbstractAttribute) m.getIdAttribute()).getBindableJavaType(), String.class, hit.getId());
              results.put(hit.getId(), id);
          }
          return results;
      }
docs: /*
  (non-Javadoc)
  
  @see com.impetus.kundera.index.Indexer#search(java.lang.Class,
  com.impetus.kundera.metadata.model.EntityMetadata, java.lang.String, int,
  int)