<?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>keepword &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/keepword/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 18:44:26 +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>Solr filtry: KeepWordFilter</title>
		<link>https://solr.pl/2011/05/02/solr-filtry-keepwordfilter/</link>
					<comments>https://solr.pl/2011/05/02/solr-filtry-keepwordfilter/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 02 May 2011 17:43:24 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[keep]]></category>
		<category><![CDATA[keepword]]></category>
		<category><![CDATA[keepwordfilter]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[word]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=238</guid>

					<description><![CDATA[Tym razem postanowiłem się przyjrzeć nietypowym filtrom dostępnym w standardowej dystrybucji Solr. Jako pierwszy w moje ręce trafił filtr o nazwie KeepWordFilter. Zaczynamy Na początek kilka słów o tym, co ten filtr robi. Jak sama nazwa może wskazywać &#8222;zatrzymuje&#8221; on]]></description>
										<content:encoded><![CDATA[<p>Tym razem postanowiłem się przyjrzeć nietypowym filtrom dostępnym w standardowej dystrybucji Solr.  Jako pierwszy w moje ręce trafił filtr o nazwie <em>KeepWordFilter</em>.</p>
<p><span id="more-238"></span></p>
<h3>Zaczynamy</h3>
<p>Na początek kilka słów o tym, co ten filtr robi. Jak sama nazwa może wskazywać &#8222;zatrzymuje&#8221; on słowa. Dokładniej rzecz biorąc filtr działa odwrotnie do filtra o nazwie <em>StopFilter</em>. Odwrotnie &#8211; czyli jak ? Czy po prostu zatrzymuje tylko określone w definicji słowa ? O tym za chwilę &#8211; zacznijmy od definicji typu i pola w pliku <em>schema.xml</em>:
</p>
<pre class="brush:xml">&lt;fieldtype name="keepwords" class="solr.TextField"&gt;
   &lt;analyzer&gt;
  &nbsp;   <code>&lt;</code><code>tokenizer</code> <code>class</code><code>=</code><code>"solr.WhitespaceTokenizerFactory"</code><code>/&gt;</code>
      &lt;filter class="solr.KeepWordFilterFactory" words="words.txt" ignoreCase="true"/&gt;
   &lt;/analyzer&gt;
&lt;/fieldtype&gt;</pre>
<p>Jak widać na powyższej definicji typu filtr oprócz standardowej definicji klasy posiada również dwa dodatkowe atrybuty:</p>
<ul>
<li><em>words</em> &#8211; listę słów do zatrzymania</li>
<li><em>ignoreCase</em> &#8211; wartość <em>true</em> | <em>false</em> włączająca lub wyłączająca ignorowanie wielkości znaków.</li>
</ul>
<h3>Zawartość pliku</h3>
<p>Załóżmy, iż plik <em>words.txt</em> miałby następującą zawartość:
</p>
<pre>ala
ma
kota</pre>
<p>Jeżeli chcielibyśmy zaindeksować frazę &#8222;Ala ma kota, a kot ma Alę&#8221;, to w indeksie zostałyby zapisane następujące tokeny: &#8222;ala&#8221;, &#8222;ma&#8221;, &#8222;kota&#8221;, &#8222;ma&#8221;, ponieważ tylko te wyrazy zostały zdefiniowane w pliku <em>words.txt</em>. Widać to wyraźnie w panelu administracyjnym Solr:</p>
<p><a href="http://solr.pl/wp-content/uploads/2011/04/keepwords.png"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-1198" title="keepwords" src="http://solr.pl/wp-content/uploads/2011/04/keepwords.png" alt="" width="626" height="493"></a></p>
<h3>Kilka słów na koniec</h3>
<p>Pomimo tego, iż nigdy nie korzystałem z tego filtra wydaje mi się, że jest to dobry filtr do przechowywania w polu wartości z typów wyliczeniowych, czy w sytuacjach, gdzie interesuje nas skończona, a nawet lepiej &#8211; niewielka i znana z góry lista wartości, takich jak np. kategorie, gdzie nie możemy filtrować informacji na poziomie aplikacji lub gdy jest to bardzo utrudnione. Cóż, mam nadzieję, że opisana funkcjonalność kiedyś się przyda.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2011/05/02/solr-filtry-keepwordfilter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
