IndexSearcher поможет в Solr 3.5.0 - PullRequest
       21

IndexSearcher поможет в Solr 3.5.0

1 голос
/ 23 февраля 2012

Я использовал Solr 1.3.0 для своего приложения электронной коммерции, и теперь я планирую внедрить Solr 3.5.0.В Indexsearcher.java мы передаем некоторые подчитывающие устройства (с базой документов) для чтения, в отличие от Solr 1.3, где мы передаем весь читатель.

Кто-нибудь может мне помочь, где и на каком основании генерируется подчиталка?

Спасибо.Джеяпракаш

public void search(Weight weight, Filter filter, Collector collector)
  throws IOException {

// TODO: should we make this
// threaded...?  the Collector could be sync'd?


    System.out.println("Total number of sub readers is  "+subReaders.length);

    // always use single thread:
for (int i = 0; i < subReaders.length; i++) { 
  System.out.println("The value of Doc base passed is "+docBase + docStarts[i]);
  System.out.println("The Number in sub reader is "+subReaders[i].numDocs());
  // search each subreader
  collector.setNextReader(subReaders[i], docBase + docStarts[i]);
  final Scorer scorer = (filter == null) ?
    weight.scorer(subReaders[i], !collector.acceptsDocsOutOfOrder(), true) :
    FilteredQuery.getFilteredScorer(subReaders[i], getSimilarity(), weight, weight, filter);
  if (scorer != null) {
    scorer.score(collector);
  }
}

}

1 Ответ

1 голос
/ 23 февраля 2012

В большинстве случаев подчитыватели являются читателями для одного сегмента.Суть в том, чтобы иметь более детальный контроль над считывателями и повысить производительность, когда вы знаете, какой сегмент вас интересует.

Например, при фиксации нового сегмента наличие считывателей сегментов позволяет загружать толькокэш полей для вновь зафиксированного сегмента вместо перезагрузки кеша полей для всего индекса (что намного быстрее и предотвращает дублирование записей в кэше).

Уве Шиндлер и Саймон Виллауэр написали очень хорошие статьитема:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...