<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>documentCache &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/documentcache/feed/" rel="self" type="application/rss+xml" />
	<link>https://solr.pl</link>
	<description>All things to be found - Blog related to Apache Solr &#38; Lucene projects - https://solr.apache.org</description>
	<lastBuildDate>Wed, 11 Nov 2020 20:23:59 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Kilka słów o optymalizacji &#8211; documentCache</title>
		<link>https://solr.pl/2011/08/29/kilka-slow-o-optymalizacji-documentcache/</link>
					<comments>https://solr.pl/2011/08/29/kilka-slow-o-optymalizacji-documentcache/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 29 Aug 2011 19:22:55 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[document cache]]></category>
		<category><![CDATA[documentCache]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[solr]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=317</guid>

					<description><![CDATA[Dobrych kilka miesięcy temu (tutaj) przygadaliśmy się działaniu filterCache. Postanowiłem odświeżyć temat i przyjrzeć się do czego może się nam przydać kolejny cache, czyli documentCache. Co przechowuje Utrzymując strukturę poprzedniego wpisu, zacznijmy od środka. Tak więc, documentCache, przechowuje dokumenty Lucene,]]></description>
										<content:encoded><![CDATA[<p>Dobrych kilka miesięcy temu (<a href="http://solr.pl/2011/02/07/kilka-slow-o-optymalizacji-filter-cache/" target="_blank" rel="noopener noreferrer">tutaj</a>) przygadaliśmy się działaniu <em>filterCache</em>. Postanowiłem odświeżyć temat i przyjrzeć się do czego może się nam przydać kolejny cache, czyli <em>documentCache</em>.</p>
<p><span id="more-317"></span></p>
<h3>Co przechowuje</h3>
<p>Utrzymując strukturę poprzedniego wpisu, zacznijmy od środka. Tak więc, <em>documentCache</em>, przechowuje dokumenty Lucene, które zostały pobrane z dysku. Tylko tyle i aż tyle.</p>
<h3>Do czego służy</h3>
<p>Każdy obiekt (dokument Lucene) przechowywany w <em>documentCache</em> zawiera listę referencji do pól, jakie posiada dany dokument. Dzięki temu, raz pobrany dokument z indeksu, jeżeli jest obecny w <em>documentCache</em> nie musi być po raz kolejny pobierany przy kolejnym zapytaniu. W związku z tym, podczas budowania listy wyników wyszukiwania, liczba operacji I/O jest zmniejszana.</p>
<h3>O czym należy pamiętać ?</h3>
<p>Korzystając z <em>documentCache</em> należy pamiętać o dwóch dość ważnych rzeczach:</p>
<ol>
<li><em>documentCache</em> nie może być automatycznie odświeżany ze względu na to, iż operuje na identyfikatorach, które zmieniają się po każdej operacji <em>commit</em>.</li>
<li>W przypadku, kiedy używamy <em>lazyFieldLoading</em>, (czyli ustawienie <em>enableLazyFieldLoading </em>na <em>true</em>) funkcjonalność <em>documentCache</em> jest ograniczona. Oznacza to, że dokument zapisany w cache będzie posiadał tylko te pola, które zostały podane w parametrze <em>fl</em>. Jeżeli w późniejszym czasie Solr trafi na ten dokument w cache, pola, które wcześniej nie były wczytane, zostaną dynamicznie odczytane z indeksu.</li>
</ol>
<h3>Definicja</h3>
<p>Standardowa definicja <em>documentCache&nbsp; </em>wygląda następująco:
</p>
<pre class="brush:xml">&lt;documentCache
      class="solr.FastLRUCache"
     &nbsp;size="16384"
      initialSize="16384"/&gt;</pre>
<p>Przypomnijmy sobie poszczególne parametry:</p>
<ul>
<li><em>class</em> &#8211; klasa odpowiedzialna za implementację,</li>
<li><em>size</em> &#8211; maksymalna wielkość,</li>
<li><em>initialSize</em> &#8211; początkowa wielkość.</li>
</ul>
<h3>Jak skonfigurować</h3>
<p>Odwieczna odpowiedź w przypadku wielkości cache&#8217;u. Jak duży powinien być. Zgodnie z tym co jest napisane na wiki Solr (<a href="http://wiki.apache.org/solr/SolrCaching#documentCache" target="_blank" rel="noopener noreferrer">http://wiki.apache.org/solr/SolrCaching#documentCache</a>), maksymalna wielkość nie powinna być mniejsza niż iloczyn liczby równoległych zapytań i maksymalnej liczby dokumentów pobieranych przez zapytania. Dość prosta zależność, która zagwarantuje, że Solr nie będzie musiał ponownie pobierać dokumentów podczas przetwarzania zapytania.</p>
<h3>Kilka słów na koniec</h3>
<p>W odróżnieniu od <em>filterCache</em>, w przypadku <em>documentCache</em> nie musimy martwić się o to, jak konstruujemy zapytania, aby dobrze wykorzystać ten cache. Należy jednak pamiętać, iż <em>documentCache</em> wymaga tym więcej pamięci, im więcej pól przechowywanych jest w indeksie.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2011/08/29/kilka-slow-o-optymalizacji-documentcache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
