The xpack side of elastic/x-pack-elasticsearch#24115
Original commit: elastic/x-pack-elasticsearch@862180a169
This commit is contained in:
parent
aa421af2fc
commit
c6c63c471c
|
@ -25,6 +25,7 @@ import org.apache.lucene.util.Accountable;
|
|||
import org.apache.lucene.util.Bits;
|
||||
import org.apache.lucene.util.IOUtils;
|
||||
import org.apache.lucene.util.TestUtil;
|
||||
import org.elasticsearch.common.lucene.index.ElasticsearchDirectoryReader;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.index.IndexSettings;
|
||||
import org.elasticsearch.index.cache.bitset.BitsetFilterCache;
|
||||
|
@ -34,6 +35,8 @@ import org.elasticsearch.test.IndexSettingsModule;
|
|||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
|
||||
|
@ -91,7 +94,7 @@ public class DocumentSubsetReaderTests extends ESTestCase {
|
|||
iw.forceMerge(1);
|
||||
iw.deleteDocuments(new Term("field", "value3"));
|
||||
iw.close();
|
||||
directoryReader = DirectoryReader.open(directory);
|
||||
openDirectoryReader();
|
||||
|
||||
IndexSearcher indexSearcher = new IndexSearcher(DocumentSubsetReader.wrap(directoryReader, bitsetFilterCache,
|
||||
new TermQuery(new Term("field", "value1"))));
|
||||
|
@ -138,7 +141,7 @@ public class DocumentSubsetReaderTests extends ESTestCase {
|
|||
iw.forceMerge(1);
|
||||
iw.close();
|
||||
|
||||
directoryReader = DirectoryReader.open(directory);
|
||||
openDirectoryReader();
|
||||
assertThat("should have one segment after force merge", directoryReader.leaves().size(), equalTo(1));
|
||||
|
||||
for (int i = 0; i < numDocs; i++) {
|
||||
|
@ -207,7 +210,8 @@ public class DocumentSubsetReaderTests extends ESTestCase {
|
|||
iw.addDocument(doc);
|
||||
|
||||
// open reader
|
||||
DirectoryReader ir = DocumentSubsetReader.wrap(DirectoryReader.open(iw), bitsetFilterCache, new MatchAllDocsQuery());
|
||||
DirectoryReader ir = ElasticsearchDirectoryReader.wrap(DirectoryReader.open(iw), new ShardId("_index", "_na_", 0));
|
||||
ir = DocumentSubsetReader.wrap(ir, bitsetFilterCache, new MatchAllDocsQuery());
|
||||
assertEquals(2, ir.numDocs());
|
||||
assertEquals(1, ir.leaves().size());
|
||||
|
||||
|
@ -224,4 +228,9 @@ public class DocumentSubsetReaderTests extends ESTestCase {
|
|||
TestUtil.checkReader(ir);
|
||||
IOUtils.close(ir, ir2, iw, dir);
|
||||
}
|
||||
|
||||
private void openDirectoryReader() throws IOException {
|
||||
directoryReader = DirectoryReader.open(directory);
|
||||
directoryReader = ElasticsearchDirectoryReader.wrap(directoryReader, new ShardId("_index", "_na_", 0));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -597,8 +597,7 @@ public class SecurityIndexSearcherWrapperUnitTests extends ESTestCase {
|
|||
}
|
||||
w.deleteDocuments(new Term("delete", "yes"));
|
||||
|
||||
DirectoryReader reader = DirectoryReader.open(w);
|
||||
IndexSettings settings = IndexSettingsModule.newIndexSettings("index", Settings.EMPTY);
|
||||
IndexSettings settings = IndexSettingsModule.newIndexSettings("_index", Settings.EMPTY);
|
||||
BitsetFilterCache.Listener listener = new BitsetFilterCache.Listener() {
|
||||
@Override
|
||||
public void onCache(ShardId shardId, Accountable accountable) {
|
||||
|
@ -610,6 +609,7 @@ public class SecurityIndexSearcherWrapperUnitTests extends ESTestCase {
|
|||
|
||||
}
|
||||
};
|
||||
DirectoryReader reader = ElasticsearchDirectoryReader.wrap(DirectoryReader.open(w), new ShardId(indexSettings.getIndex(), 0));
|
||||
BitsetFilterCache cache = new BitsetFilterCache(settings, listener);
|
||||
Query roleQuery = new TermQuery(new Term("allowed", "yes"));
|
||||
BitSet bitSet = cache.getBitSetProducer(roleQuery).getBitSet(reader.leaves().get(0));
|
||||
|
|
Loading…
Reference in New Issue