2012-03-05 2 views
1

もしある人が、solr 3.5のreader(solr 1.3で使われている)と、solr 3.5のreaderKeyとの違いをFieldcacheImplで知っているのなら、それは素晴らしいことでしょうか?readerkey(solr 1.3)in FieldcacheImpl

感謝のLucene 2.4では Jeyaprakash

答えて

1

は(Solrの1.3で使用される)、fieldcacheは内部で二つの異なる読者は、2つの異なるキャッシュ・インスタンスを持つことmap (reader -> cache)意味を維持しています。

これは機能しますが、インデックスリーダーが他のインデックスリーダーを介したビューである場合、これらの2つのインスタンスは同じフィールドキャッシュインスタンスを安全に共有し、多くのメモリを節約できます。このため、Lucene 3.5(Solr 3.5で使用)ではIndexReaderにキャッシュキー(getCoreCacheKey)を取得する方法が追加されました。デフォルトではit returns thisで、Lucene 2.4と同じ動作になりますが、フィールドキャッシュインスタンスを他のIndexReaderインスタンスと共有するために、このメソッドをオーバーライドする実装もあります。たとえば、FilterIndexReaderとラップされたIndexReaderの間でキャッシュを共有することは安全です。このため、FilterIndexReader#getCoreCacheKeyreturns the cache key of the wrapped IndexReaderです。