}
public Result<Activity> search(ActivityQuery query, QueryOptions options) {
- return indexClient.get(ActivityIndex.class).search(query, options);
+ ActivityIndex index = indexClient.get(ActivityIndex.class);
+ return
+ new Result<Activity>(index, index.search(query, options));
}
}
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.AndFilterBuilder;
+import org.elasticsearch.index.query.FilterBuilder;
import org.elasticsearch.index.query.FilterBuilders;
import org.elasticsearch.index.query.OrFilterBuilder;
import org.elasticsearch.index.query.QueryBuilders;
.get());
}
- public Result<Activity> search(ActivityQuery query, QueryOptions options) {
+ public SearchResponse search(ActivityQuery query, QueryOptions options) {
+ return this.search(query, options, null);
+ }
+
+ public SearchResponse search(ActivityQuery query, QueryOptions options,
+ FilterBuilder domainFilter) {
// Prepare query
SearchRequestBuilder esSearch = getClient()
.from(query.getSince())
.to(query.getTo()));
+ //Add any additional domain filter
+ if (domainFilter != null) {
+ filter.add(domainFilter);
+ }
+
esSearch.setQuery(QueryBuilders.filteredQuery(
QueryBuilders.matchAllQuery(), filter));
esSearch.setScroll(TimeValue.timeValueMinutes(3));
}
- SearchResponse esResult = esSearch.get();
-
- return new Result<Activity>(this, esResult);
+ return esSearch.get();
}
}
import com.google.common.collect.ImmutableMap;
+import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.common.collect.Iterables;
import org.junit.After;
import org.junit.Before;
import org.sonar.server.activity.index.ActivityQuery;
import org.sonar.server.db.DbClient;
import org.sonar.server.search.QueryOptions;
+import org.sonar.server.search.Result;
import org.sonar.server.tester.ServerTester;
import java.util.Iterator;
// 2. assert scrollable
int count = 0;
- Iterator<Activity> logs = index.search(new ActivityQuery(), new QueryOptions().setScroll(true)).scroll();
+
+ SearchResponse result = index.search(new ActivityQuery(), new QueryOptions().setScroll(true));
+ Iterator<Activity> logs = new Result<Activity>(index, result).scroll();
+
while (logs.hasNext()) {
logs.next();
count++;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
+import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.common.collect.Iterables;
import org.joda.time.DateTime;
import org.junit.After;
dbSession.commit();
assertThat(index.findAll().getTotal()).isEqualTo(1);
- Result<Activity> result = index.search(service.newActivityQuery(), new QueryOptions());
- assertThat(result.getTotal()).isEqualTo(1L);
- assertThat(result.getHits().get(0).message()).isEqualTo(testValue);
+ SearchResponse result = index.search(service.newActivityQuery(), new QueryOptions());
+ assertThat(result.getHits().getTotalHits()).isEqualTo(1L);
+ Result<Activity> activityResult = new Result<Activity>(index, result);
+ assertThat(activityResult.getHits().get(0).message()).isEqualTo(testValue);
}
dbSession.commit();
assertThat(index.findAll().getTotal()).isEqualTo(1);
- Result<Activity> result = index.search(service.newActivityQuery(), new QueryOptions());
- assertThat(result.getTotal()).isEqualTo(1L);
- assertThat(result.getHits().get(0).details().get(test_key)).isEqualTo(test_value);
+ SearchResponse result = index.search(service.newActivityQuery(), new QueryOptions());
+ assertThat(result.getHits().getTotalHits()).isEqualTo(1L);
+ Result<Activity> activityResult = new Result<Activity>(index, result);
+ assertThat(activityResult.getHits().get(0).details().get(test_key)).isEqualTo(test_value);
}
// 0. assert Base case
assertThat(dao.findAll(dbSession)).hasSize(max);
- Result<Activity> result = index.search(service.newActivityQuery(), new QueryOptions().setScroll(true));
- assertThat(result.getTotal()).isEqualTo(max);
- assertThat(result.getHits()).hasSize(0);
+ SearchResponse result = index.search(service.newActivityQuery(), new QueryOptions().setScroll(true));
+ assertThat(result.getHits().getTotalHits()).isEqualTo(max);
+ Result<Activity> activityResult = new Result<Activity>(index, result);
+
+ assertThat(activityResult.getTotal()).isEqualTo(max);
+ assertThat(activityResult.getHits()).hasSize(0);
int count = 0;
- Iterator<Activity> logIterator = result.scroll();
+ Iterator<Activity> logIterator = activityResult.scroll();
while (logIterator.hasNext()) {
count++;
logIterator.next();