<?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>usuwanie &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/usuwanie/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 08:11:30 +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>Index &#8211; usuwać, czy nadpisywać ?</title>
		<link>https://solr.pl/2011/02/16/index-usuwac-czy-nadpisywac/</link>
					<comments>https://solr.pl/2011/02/16/index-usuwac-czy-nadpisywac/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Wed, 16 Feb 2011 08:11:02 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[aktualizacja]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[usuwanie]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=199</guid>

					<description><![CDATA[Co jakiś czas, w pracy z Solr pojawia się problem &#8211; aktualizacja struktury indeksów Solr. Różne są powody tych zmian &#8211; nowe wymagania funkcjonalne, optymalizacje, czy cokolwiek innego &#8211; nie jest to ważne. Istotne jest pytanie, które się wtedy pojawia]]></description>
										<content:encoded><![CDATA[<p>Co jakiś czas, w pracy z Solr pojawia się problem &#8211; aktualizacja struktury indeksów Solr. Różne są powody tych zmian &#8211; nowe wymagania funkcjonalne, optymalizacje, czy cokolwiek innego &#8211; nie jest to ważne. Istotne jest pytanie, które się wtedy pojawia &#8211; usuwać indeks, czy po prostu zmienić strukturę i przeprowadzić pełną indeksację ? Wbrew pozorom odpowiedź na to pytanie zależy od zmian, jakich dokonaliśmy w strukturze indeksu.</p>
<p><span id="more-199"></span></p>
<p>Osobiście, jestem zwolennikiem rozwiązań, które mają jak najmniejszą szansę powodować problemy &#8211; po prostu lubię w nocy spać. Do takich rozwiązań zaliczam usunięcie indeksu po modyfikacji jego struktury, a następnie pełną indeksację danych. Zdaję sobie jednak sprawę, że nie zawsze takie rozwiązanie jest akceptowalne. Kiedy zatem nie jesteśmy zmuszeni do usunięcia indeksu, a kiedy nie usunięcie indeksu naraża nas na ewentualne problemy z poprawnym działaniem Solr ?</p>
<p>Odpowiedź na pytanie zależy od tego, co zmieniliśmy w strukturze indeksu. Zmiany takie, można podzielić na trzy obszary obejmujące większość ze zmian jakie możemy dokonać w strukturze indeksu:</p>
<ul>
<li><strong>Dodanie/usunięcie nowego pola</strong></li>
<li><strong>Modyfikacja podobieństwa (Similarity)</strong></li>
<li><strong>Modyfikacja typu pola</strong></li>
</ul>
<h3>Dodanie/usunięcie nowego pola</h3>
<p>W przypadku pierwszego typu modyfikacji sprawa jest dość prosta &#8211; jeżeli dodamy do schema.xml (bądź usuniemy) <strong>nowe</strong> pole, nie ma konieczności usuwania całego indeksu przed ponowną indeksacją. Solr poradzi sobie z dodaniem nowego pola, do aktualnego indeksu. Oczywiście, należy sobie zdawać sprawę, iż dokumenty, które nie będą po tej operacji ponownie zaindeksowane nie będą automatycznie uaktualnione.</p>
<h3>Modyfikacja podobieństwa</h3>
<p>W drugim przypadku, czyli przy ewentualnej zmianie klasy odpowiedzialnej za <em>Similarity</em> także nie musimy usuwać indeksu po zmianie schema.xml. Jednak w odróżnieniu od poprzedniego przykładu, do poprawnego wyliczania współczynnika <em>score</em>, a tym samym do poprawnego sortowania będzie konieczna ponowna indeksacja wszystkich dokumentów wcześniej obecnych w indeksie.</p>
<h3>Modyfikacja typu pola</h3>
<p>Zatrzymajmy się na trzecim przypadku. Załóżmy, że modyfikujemy nieznacznie pole w indeksie z prozaicznej przyczyny &#8211; przestaje interesować nas normalizacja jego długości. Ustawiamy sobie <em>omitNorms=&#8221;true&#8221;</em> (zakładam, iż wcześniej było <em>omitNorms=&#8221;false&#8221;</em>). Indeksujemy ponownie wszystkie dokumenty, Lucene łączy nam indeksy i co się okazuje &#8211; dalej w połączonych segmentach mamy dalej znormalizowane informacje o długości pola. Coś poszło nie tak. To jest właśnie ten przypadek kiedy konieczne jest usunięcie indeksu po zmianie jego struktury, a przed pełną indeksacją. Na pierwszy rzut oka wygląda, iż jest to bardzo mała zmiana, jednak zastanawiając się dalej, mamy takie, a nie inne skutki. Warto pamiętać, iż niektóre z właściwości pól są nadpisywane przez inne, tak jak w przypadku normalizacji długości &#8211; jeżeli w jednym segmencie pole będzie posiadało normalizację, a w drugim nie, to po połączeniu segmentów otrzymamy jeden, w którym to pole będzie posiadało normalizację.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2011/02/16/index-usuwac-czy-nadpisywac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
