readerkey vs reader (solr 1.3) в FieldcacheImpl - PullRequest
1 голос
/ 05 марта 2012

Было бы здорово, если бы кто-нибудь узнал о разнице между ридером (использованным в solr 1.3) по сравнению с readerKey в solr 3.5, в FieldcacheImpl?

Спасибо, Jeyaprakash

1 Ответ

1 голос
/ 05 марта 2012

В Lucene 2.4 (используется Solr 1.3), кэш поля внутренне поддерживает map (reader -> cache), что означает, что два разных считывателя будут иметь два разных экземпляра кэша.

Это работает, но когда читатель индекса является представлениемчерез другое устройство чтения индекса эти два экземпляра могут безопасно использовать один и тот же экземпляр fieldcache и сэкономить много памяти.Вот почему в Lucene 3.5 (используется Solr 3.5) IndexReader теперь имеет метод для извлечения ключа кэша ( getCoreCacheKey ).По умолчанию возвращает this, что приводит к тому же поведению, что и в Lucene 2.4, но некоторые реализации переопределяют этот метод для совместного использования экземпляров кэша полей с другими экземплярами IndexReader.Например, безопасно разделить кэш между FilterIndexReader и обернутым IndexReader.Вот почему FilterIndexReader#getCoreCacheKey возвращает ключ кэша обернутого IndexReader.

...