lighter search holder
This commit is contained in:
parent
23d2799d71
commit
45ae8f6a95
|
@ -150,7 +150,7 @@ public class RobinEngine extends AbstractIndexShardComponent implements Engine,
|
|||
IndexReader indexReader = indexWriter.getReader();
|
||||
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
|
||||
indexSearcher.setSimilarity(similarityService.defaultSearchSimilarity());
|
||||
this.nrtResource = newAcquirableResource(new ReaderSearcherHolder(indexReader, indexSearcher));
|
||||
this.nrtResource = newAcquirableResource(new ReaderSearcherHolder(indexSearcher));
|
||||
} catch (IOException e) {
|
||||
try {
|
||||
indexWriter.rollback();
|
||||
|
@ -257,7 +257,9 @@ public class RobinEngine extends AbstractIndexShardComponent implements Engine,
|
|||
AcquirableResource<ReaderSearcherHolder> current = nrtResource;
|
||||
IndexReader newReader = current.resource().reader().reopen(true);
|
||||
if (newReader != current.resource().reader()) {
|
||||
nrtResource = newAcquirableResource(new ReaderSearcherHolder(newReader));
|
||||
IndexSearcher indexSearcher = new IndexSearcher(newReader);
|
||||
indexSearcher.setSimilarity(similarityService.defaultSearchSimilarity());
|
||||
nrtResource = newAcquirableResource(new ReaderSearcherHolder(indexSearcher));
|
||||
current.markForClose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,21 +31,18 @@ import org.elasticsearch.util.lease.Releasable;
|
|||
*/
|
||||
public class ReaderSearcherHolder implements Releasable {
|
||||
|
||||
private final IndexReader indexReader;
|
||||
|
||||
private final IndexSearcher indexSearcher;
|
||||
|
||||
public ReaderSearcherHolder(IndexReader indexReader) {
|
||||
this(indexReader, new IndexSearcher(indexReader));
|
||||
this(new IndexSearcher(indexReader));
|
||||
}
|
||||
|
||||
public ReaderSearcherHolder(IndexReader indexReader, IndexSearcher indexSearcher) {
|
||||
this.indexReader = indexReader;
|
||||
public ReaderSearcherHolder(IndexSearcher indexSearcher) {
|
||||
this.indexSearcher = indexSearcher;
|
||||
}
|
||||
|
||||
public IndexReader reader() {
|
||||
return indexReader;
|
||||
return indexSearcher.getIndexReader();
|
||||
}
|
||||
|
||||
public IndexSearcher searcher() {
|
||||
|
@ -59,7 +56,7 @@ public class ReaderSearcherHolder implements Releasable {
|
|||
// do nothing
|
||||
}
|
||||
try {
|
||||
indexReader.close();
|
||||
indexSearcher.getIndexReader().close();
|
||||
} catch (Exception e) {
|
||||
// do nothing
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue