Implement Account index for ElasticSearch
Initial implementation of the account index for ElasticSearch. TODO: Define schema mappings when Gerrit starts up TODO: Add support for online reindex Change-Id: I21034daa71c36a1e462e3107b0c9a7ba6392f379 Signed-off-by: Dariusz Luksza <dluksza@collab.net> Signed-off-by: David Pursehouse <dpursehouse@collab.net>
This commit is contained in:

committed by
David Pursehouse

parent
1d71d309a4
commit
4053361f16
@@ -16,13 +16,12 @@ package com.google.gerrit.lucene;
|
||||
|
||||
import static com.google.gerrit.server.index.account.AccountField.ID;
|
||||
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.server.account.AccountCache;
|
||||
import com.google.gerrit.server.account.AccountState;
|
||||
import com.google.gerrit.server.config.GerritServerConfig;
|
||||
import com.google.gerrit.server.config.SitePaths;
|
||||
import com.google.gerrit.server.index.IndexUtils;
|
||||
import com.google.gerrit.server.index.QueryOptions;
|
||||
import com.google.gerrit.server.index.Schema;
|
||||
import com.google.gerrit.server.index.account.AccountIndex;
|
||||
@@ -56,7 +55,6 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
public class LuceneAccountIndex
|
||||
@@ -164,7 +162,7 @@ public class LuceneAccountIndex
|
||||
List<AccountState> result = new ArrayList<>(docs.scoreDocs.length);
|
||||
for (int i = opts.start(); i < docs.scoreDocs.length; i++) {
|
||||
ScoreDoc sd = docs.scoreDocs[i];
|
||||
Document doc = searcher.doc(sd.doc, fields(opts));
|
||||
Document doc = searcher.doc(sd.doc, IndexUtils.accountFields(opts));
|
||||
result.add(toAccountState(doc));
|
||||
}
|
||||
final List<AccountState> r = Collections.unmodifiableList(result);
|
||||
@@ -198,13 +196,6 @@ public class LuceneAccountIndex
|
||||
}
|
||||
}
|
||||
|
||||
private Set<String> fields(QueryOptions opts) {
|
||||
Set<String> fs = opts.fields();
|
||||
return fs.contains(ID.getName())
|
||||
? fs
|
||||
: Sets.union(fs, ImmutableSet.of(ID.getName()));
|
||||
}
|
||||
|
||||
private AccountState toAccountState(Document doc) {
|
||||
Account.Id id =
|
||||
new Account.Id(doc.getField(ID.getName()).numericValue().intValue());
|
||||
|
Reference in New Issue
Block a user