<?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>język &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/jezyk/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 22:27:51 +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 4.0 i możliwości analizy języka polskiego</title>
		<link>https://solr.pl/2012/04/02/solr-4-0-i-mozliwosci-analizy-jezyka-polskiego/</link>
					<comments>https://solr.pl/2012/04/02/solr-4-0-i-mozliwosci-analizy-jezyka-polskiego/#comments</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 02 Apr 2012 21:27:23 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[4.0]]></category>
		<category><![CDATA[analiza]]></category>
		<category><![CDATA[analyzer]]></category>
		<category><![CDATA[hunspell]]></category>
		<category><![CDATA[język]]></category>
		<category><![CDATA[lucene]]></category>
		<category><![CDATA[morfologik]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[polski]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[solr 4.0]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=408</guid>

					<description><![CDATA[Ze względu na to, iż wsparcie dla języka polskiego w Lucene (i Solr) jest już od jakiegoś czasu, postanowiłem przyjrzeć się jak zmieni się to wraz z premierą Lucene i Solr w wersji 4.0. Dostępne opcje W obecnej chwili dostępne]]></description>
										<content:encoded><![CDATA[<p>Ze względu na to, iż wsparcie dla języka polskiego w Lucene (i Solr) jest już od jakiegoś czasu, postanowiłem przyjrzeć się jak zmieni się to wraz z premierą Lucene i Solr w wersji 4.0.</p>
<p><span id="more-408"></span></p>
<h3>Dostępne opcje</h3>
<p>W obecnej chwili dostępne są trzy opcje, jeżeli chodzi o analizę języka polskiego:</p>
<ul>
<li>Wykorzystanie możliwości&nbsp; biblioteki Stempel (od wersji 3.1 Solr)</li>
<li>Wykorzystanie&nbsp;możliwości biblioteki Hunspell i słownika języka polskiego (od wersji 3.5 Solr)</li>
<li>Wykorzystanie możliwości biblioteki Morfologik (od wersji 4.0 Solr, <a href="https://issues.apache.org/jira/browse/SOLR-3272" target="_blank" rel="noopener noreferrer">SOLR-3272</a>)</li>
</ul>
<h3>Konfiguracja</h3>
<p>Przyjrzyjmy się konfiguracji każdej z wyżej wymienionych funkcjonalności (należy pamiętać, że poniższe konfiguracje zostały oparte o Solr 4.0).</p>
<h4>Stempel</h4>
<p>W celu dodania stemmingu języka polskiego przy pomocy biblioteki Stempel, to proste dodanie filtra do definicji typu:
</p>
<pre class="brush:xml">&lt;filter class="solr.StempelPolishStemFilterFactory" /&gt;</pre>
<p>Oprócz tego, do <em>SOLR_HOME/lib</em> należy dodać bibliotekę <em>lucene-analyzers-stempel-4.0.jar</em> oraz <em>apache-solr-analysis-extras-4.0.jar</em>. <em></em> Dobrym pomysłem jest także użycie<em>&nbsp;solr.LowerCaseFilterFactory</em> przed Stemplem.</p>
<h4>Hunspell</h4>
<p>Podobnie, jak w powyższym przypadku, skorzystanie z Hunspell&#8217;a to dodanie filtra do definicji typu. Na przykład w taki sposób:
</p>
<pre class="brush:xml">&lt;filter class="solr.HunspellStemFilterFactory" dictionary="pl_PL.dic" affix="pl_PL.aff" ignoreCase="true" /&gt;</pre>
<p>Parametry <em>dictionary</em> oraz <em>affix</em> odpowiadają za definicję słownika z którego korzystamy. Natomiast parametr <em>ignoreCase</em> ustawiony na wartość <em>true</em> mówi filtrowi, aby nie zwracać uwagi na wielkość znaków. Słowniki można znaleźć m.in. pod adresem: <a href="http://wiki.services.openoffice.org/wiki/Dictionaries" target="_blank" rel="noopener noreferrer">http://wiki.services.openoffice.org/wiki/Dictionaries</a>.</p>
<h4>Morfologik</h4>
<p>Tak jak w wyżej wymienionych przypadkach, tak samo i tutaj, skorzystanie z Morfologika to dodanie filtra do definicji typu. Tym razem w następujący sposób:
</p>
<pre class="brush:xml">&lt;filter class="solr.MorfologikFilterFactory" dictionary="MORFOLOGIK" /&gt;</pre>
<p>Parametr <em>dictionary</em> to definicja z którego słownika chcemy skorzystać, do wyboru mamy:</p>
<ul>
<li>MORFOLOGIK</li>
<li>MORFEUSZ</li>
<li>COMBINED</li>
</ul>
<p>Oprócz tego, do <em>SOLR_HOME/lib</em> należy dodać bibliotekę <em>lucene-analyzers-morfologik-4.0.jar, </em><em>apache-solr-analysis-extras-4.0.jar, morfologik-fsa-1.5.2.jar</em>, <em>morfologik-polish-1.5.2.jar</em> oraz <em>morfologik-stemming-1.5.2.jar</em>.</p>
<h3>Porównanie działania</h3>
<p>Oczywiście nie byłem w stanie ocenić działania dla całego korpusu słów języka polskiego, dlatego wybrałem sobie cztery słowa, aby sprawdzić, jak zachowuje się każdy z wymienionych wyżej filtrów. Słowa te to: &#8222;<em>urodzić urodzony urodzona urodzeni&#8221;.</em> Wyniki przedstawiają się następująco:</p>
<h4>Stempel</h4>
<p>Wynikiem działania Stempla były następujące tokeny:
</p>
<pre>[urodzić] [urodzo] [urodzona] [urodzeni]</pre>
<p>Należy jednak pamiętać, iż Stempel to stemmer, a więc wyniki jego działania mogą i będą odbiegać od form podstawowych, czy też tematów słów. Ważne jest to, aby interesujące nas słowa sprowadzane były do tej samej formy, co umożliwi znalezienie odpowiedniego słowa przez Lucene/Solr. Pamiętając jednak o tym, widać iż wyniki nie są zadowalające, przynajmniej dla mnie. Na przykład zadając zapytanie <em>urodzić</em>, nie znaleźlibyśmy dokumentów ze słowami <em>urodzona</em>, czy <em>urodzony</em>. Dodatkowo widać, iż Stempel wyprodukował po jednym tokenie dla każdego ze słów.</p>
<h4>Hunspell</h4>
<p>Wynikiem działania Hunspell&#8217;a były następujące tokeny:
</p>
<pre>[urodzić, urodzić] [urodzony, urodzić] [urodzić] [urodzić, urodzony, urodzenie]</pre>
<p>Porównując wyniki uzyskane z pomocą Hunspell&#8217;a do tych uzyskanych z pomocą Stempla widać różnicę. Nasze przykładowe zapytanie o słowo <em>urodzić</em>, znalazłoby zarówno dokumenty ze słowem <em>urodzony</em>, jak również ze słowem <em>urodzona</em>, czy <em>urodzeni</em>. Całkiem miło. Dodatkowo widać, iż na trzy z czterech słów wejściowych Hunspell wygenerował więcej, niż jeden token (oczywiście umieszczając je na odpowiednich pozycjach w strumieniu tokenów). Wynik działania Hunspell&#8217;a mnie satysfakcjonuje, natomiast spójrzmy jeszcze na działanie najnowszego filtra dostępnego w Lucene i Solr pozwalającego na analizę języka polskiego, czyli na Morfologika.</p>
<h4>Morfologik</h4>
<p>Wynikiem działania Morfologika były następujące tokeny:
</p>
<pre>[urodzić] [urodzony, urodzić] [urodzić] [urodzić, urodzony]</pre>
<p>Porównując wyniki uzyskane za pomocą Morfologika do tych uzyskanych za pomocą Hunspell&#8217;a ciężko zauważyć różnicę (oczywiście w tym wypadku). Jedyną różnicą pomiędzy Hunspell&#8217;em, a Morfologikiem jest ostatni term dla słowa <em>urodzeni</em>, czyli <em>urodzenie</em>, którego nie otrzymaliśmy w wyniku działania Morfologika. Moim zdaniem wynik działania Morfologika, podobnie jak w przypadku Hunspell&#8217;a można uznać za satysfakcjonujący.</p>
<h3>Wydajność</h3>
<p>Test wydajności został zrobiony bardzo prosto &#8211; każdorazowo zostało zaindeksowanych 5 milionów dokumentów, gdzie wszystkie pola tekstowe były oparte o analizę języka polskiego z odpowiednim filtrem (do tego kilka standardowych filtrów, jak usuwanie stopwordów, synonimy, itp). Za każdym razem indeksowanie rozpoczynane było od nowa na nowej instancji Solr 4.0. Ze względu na korzystanie z Data Import Handlera polecenie commit wysyłane było co 100.000 dokumentów. Indeks składał się z kilkunastu pól, jednak sama struktura nie jest ważna ze względu na to, że zamierzałem zobaczyć, jak wygląda porównanie poszczególnych filtrów. Poniżej wyniki testu:</p>
[table “20” not found /]<br />

<p><strong>Uwaga<em>:</em></strong> W chwili pisania niniejszego tekstu, zgodnie ze zgłoszeniem <a href="https://issues.apache.org/jira/browse/SOLR-3245">SOLR-3245</a> istnieje problem z wydajnością Hunspella z polskimi słownikami w Solr 4.0. Najprawdopodobniej, sytuacja ta zostanie rozwiązana do czasu wypuszczenia wersji 4.0 Solr, jednak jeżeli zastanawiacie się nad korzystaniem z Solr 4.0 i Hunspell&#8217;a z polskimi słownikami wydajność takiego tandemu może być niezadowalająca.</p>
<p>Niestety ze względu na problemy wydajnościowe z Hunspell&#8217;em nie byliśmy w stanie porównać wydajności trzech dostępnych filtrów umożliwiających analizę języka polskiego. Natomiast z powyższej tabeli wnioskować można, iż w większości przypadków zarówno Stempel, jak i Morfologik będą charakteryzowały się podobną wydajnością.</p>
<h3>Krótkie podsumowanie</h3>
<p>Pomimo braku wyników wydajnościowych dotyczących Hunspell&#8217;a (bo te które są uważam za błędne i jestem pewien, że zostaną poprawione), widać iż Hunspell i Morfologik są dobrymi kandydatami do wykorzystania jeżeli chodzi o filtr umożliwiający analizę języka polskiego. W przypadku Morfologika, mamy wydajność podobną do Stempla, a w testach wychodzi na to, że Morfologik daje sobie radę z większą ilością polskich słów, co wpłynie pozytywnie na odczucia użytkowników.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2012/04/02/solr-4-0-i-mozliwosci-analizy-jezyka-polskiego/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Identyfikacja języka dokumentu</title>
		<link>https://solr.pl/2012/01/23/identyfikacja-jezyka-dokumentu/</link>
					<comments>https://solr.pl/2012/01/23/identyfikacja-jezyka-dokumentu/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 23 Jan 2012 20:43:52 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[identyfikacja]]></category>
		<category><![CDATA[język]]></category>
		<category><![CDATA[języka]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[tika]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=355</guid>

					<description><![CDATA[Jedną z funkcjonalności najnowszej wersji Solr (czyli 3.5) jest możliwość identyfikacji języka indekowanego dokumentu na etapie indeksowania. Dzisiejszy wpis postanowiłem poświęcić tej funkcjonalności i przyjrzeć się jak tym razem Apache Solr współgra z Apache Tika. Na początek Należy pamiętać, iż]]></description>
										<content:encoded><![CDATA[<p>Jedną z funkcjonalności najnowszej wersji Solr (czyli <a href="http://solr.pl/2011/11/27/apache-lucene-i-solr-3-5/" target="_blank" rel="noopener noreferrer">3.5</a>) jest możliwość identyfikacji języka indekowanego dokumentu na etapie indeksowania. Dzisiejszy wpis postanowiłem poświęcić tej funkcjonalności i przyjrzeć się jak tym razem Apache Solr współgra z Apache Tika.</p>
<p><span id="more-355"></span></p>
<h3>Na początek</h3>
<p>Należy pamiętać, iż opisywana funkcjonalność została wprowadzona w Solr w wersji 3.5.</p>
<h3>Założenia</h3>
<p>Język będziemy wykrywać na postawie dwóch pól:&nbsp;<em>title</em>&nbsp;oraz&nbsp;<em>body</em>. Chcemy, aby wykryty język został zapisany w polu o nazwie <em>lang</em>.</p>
<h3>Struktura naszego indeksu</h3>
<p>Struktura indeksu jest oczywiście mocno uproszczona i zawiera jedynie pola potrzebne do testu. Sama definicja pól wygląda następująco:
</p>
<pre class="brush:xml">&lt;field name="id" type="string" indexed="true" stored="true" required="true" /&gt;
&lt;field name="title" type="text_ws" indexed="true" stored="true" /&gt;
&lt;field name="body" type="text_ws" indexed="true" stored="true" /&gt;
&lt;field name="lang" type="string" indexed="true" stored="true" /&gt;</pre>
<p>Wszystkie pola oznaczone są jako <em>stored=&#8221;true&#8221;</em>, aby zobaczyć wynik przetwarzania dokumentu przez procesor.</p>
<h3>Konfiguracja update request processor&#8217;a</h3>
<p>Aby móc wykorzystać funkcjonalność identyfikacji języka dokumentu konieczna jest konfiguacja następujących procesora aktualizacji. Skorzystamy z procesora opartego o Apache Tika (choć istnieje także druga implementacja oparta o&nbsp;<a href="http://code.google.com/p/language-detection/">http://code.google.com/p/language-detection/</a>). &nbsp;W tym celu dodajemy następujący update request processor do pliku <em>solrconfig.xml</em>:
</p>
<pre class="brush:xml">&lt;updateRequestProcessorChain name="langid"&gt;
  &lt;processor name="langid" class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory"&gt;
    &lt;lst name="defaults"&gt;
      &lt;str name="langid.fl"&gt;title,body&lt;/str&gt;
      &lt;str name="langid.langField"&gt;lang&lt;/str&gt;
    &lt;/lst&gt;
  &lt;/processor&gt;
  &lt;processor class="solr.LogUpdateProcessorFactory" /&gt;
  &lt;processor class="solr.RunUpdateProcessorFactory" /&gt;
&lt;/updateRequestProcessorChain&gt;</pre>
<p>Inne parametry <em>TikaLanguageIdentifierUpdateProcessorFactory</em> opisane są na wiki Apache Solr pod adresem:&nbsp;<a href="http://wiki.apache.org/solr/LanguageDetection">http://wiki.apache.org/solr/LanguageDetection</a>.</p>
<h3>Dodatkowe, potrzebne biblioteki</h3>
<p>Aby powyższa zmiana zaczęła działać potrzebujemy jeszcze dodatkowych bibliotek, a dokładniej jednej biblioteki. Z katalogu <em>dist</em>, który znajduje się w dystrybucji Solr kopiujemy plik <em>apache-solr-langid-3.5.0.jar</em>&nbsp;do np. katalogu <em>tikaDir</em>, który tworzyny na tym samym poziomie co katalog <em>webapps</em>&nbsp;w Solr. Oraz dodajemy następującą linię do pliku <em>solrconfig.xml</em>:
</p>
<pre class="brush:xml">&lt;lib dir="../tikaLib/" regex="apache-solr-langid-\d.*\.jar" /&gt;</pre>
<p>Następna biblioteka, której potrzebujemy to Tika wraz z przyległościami (<em>tika-app-1.0.jar</em>) dostępna np. pod adresem:&nbsp;<a href="http://tika.apache.org/">http://tika.apache.org/</a>. Po skopiowaniu do katalogu <em>tikaDir</em>&nbsp;dodajemy następujący wpis do pliku <em>solrconfig.xml:</em>
</p>
<pre class="brush:xml">&lt;lib dir="../tikaLib/" regex="tika-app-1.0.jar" /&gt;</pre>
<h3>Testowe dokumenty</h3>
<p>Do testów przygotowałem trzy dokumenty zawierające po jednym dokumencie w języku angielskim, polskim oraz niemieckim. Ich treść została pobrana z Wikipedii. Wyglądają następująco:</p>
<h4>tika_en.xml</h4>
<pre class="brush:xml">&lt;add&gt;
&lt;doc&gt;
  &lt;field name="id"&gt;1&lt;/field&gt;
  &lt;field name="title"&gt;Water&lt;/field&gt;
  &lt;field name="body"&gt;Water is a chemical substance with the chemical formula H2O. A water molecule contains one oxygen and two hydrogen atoms connected by covalent bonds. Water is a liquid at ambient conditions, but it often co-exists on Earth with its solid state, ice, and gaseous state (water vapor or steam). Water also exists in a liquid crystal state near hydrophilic surfaces.[1][2] Under nomenclature used to name chemical compounds, Dihydrogen monoxide is the scientific name for water, though it is almost never used.&lt;/field&gt;
&lt;/doc&gt;
&lt;/add&gt;</pre>
<h4>tika_pl.xml</h4>
<pre class="brush:xml">&lt;add&gt;
&lt;doc&gt;
  &lt;field name="id"&gt;2&lt;/field&gt;
  &lt;field name="title"&gt;Woda&lt;/field&gt;
  &lt;field name="body"&gt;Woda (tlenek wodoru; nazwa systematyczna IUPAC: oksydan) – związek chemiczny o wzorze H2O, występujący w warunkach standardowych w stanie ciekłym. W stanie gazowym wodę określa się mianem pary wodnej, a w stałym stanie skupienia – lodem. Słowo woda jako nazwa związku chemicznego może się odnosić do każdego stanu skupienia.&lt;/field&gt;
&lt;/doc&gt;
&lt;/add&gt;</pre>
<h4>tika_de.xml</h4>
<pre class="brush:xml">&lt;add&gt;
&lt;doc&gt;
  &lt;field name="id"&gt;3&lt;/field&gt;
  &lt;field name="title"&gt;Wasser&lt;/field&gt;
  &lt;field name="body"&gt;Wasser (H2O) ist eine chemische Verbindung aus den Elementen Sauerstoff (O) und Wasserstoff (H). Wasser ist die einzige chemische Verbindung auf der Erde, die in der Natur in allen drei Aggregatzuständen vorkommt. Die Bezeichnung Wasser wird dabei besonders für den flüssigen Aggregatzustand verwendet. Im festen (gefrorenen) Zustand spricht man von Eis, im gasförmigen Zustand von Wasserdampf.&lt;/field&gt;
&lt;/doc&gt;
&lt;/add&gt;</pre>
<h3>Testowanie działania</h3>
<p>Aby zaindeksować dane wywołałem następującą serię poleceń:
</p>
<pre class="brush:xml">curl 'http://localhost:8983/solr/update?update.chain=langid' --data-binary @tika_pl.xml -H 'Content-type:application/xml'
curl 'http://localhost:8983/solr/update?update.chain=langid' --data-binary @tika_en.xml -H 'Content-type:application/xml'
curl 'http://localhost:8983/solr/update?update.chain=langid' --data-binary @tika_de.xml -H 'Content-type:application/xml'
curl 'http://localhost:8983/solr/update?update.chain=langid' --data-binary '&lt;commit/&gt;' -H 'Content-type:application/xml'</pre>
<p>Warto zauważyć, dodatkowy parameter <em>update.chain=langid</em>&nbsp;dodawany do requestu. Określna on update processor jaki powinien zostać użyty do przetwarzania danych. W tym wypadku chcemy, aby był to nasz zdefiniowany update processor.</p>
<h3>Zaindeksowane dane</h3>
<p>Sprawdźmy zatem co zostało zaindeksowane. Zróbmy to poprzez wysłanie następującego zapytania: <em>q=*:*&amp;indent=true</em>.
</p>
<pre class="brush:xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;response&gt;
&lt;lst name="responseHeader"&gt;
  &lt;int name="status"&gt;0&lt;/int&gt;
  &lt;int name="QTime"&gt;0&lt;/int&gt;
  &lt;lst name="params"&gt;
    &lt;str name="indent"&gt;true&lt;/str&gt;
    &lt;str name="q"&gt;*:*&lt;/str&gt;
  &lt;/lst&gt;
&lt;/lst&gt;
&lt;result name="response" numFound="3" start="0"&gt;
  &lt;doc&gt;
    &lt;str name="body"&gt;Woda (tlenek wodoru; nazwa systematyczna IUPAC: oksydan) – związek chemiczny o wzorze H2O, występujący w warunkach standardowych w stanie ciekłym. W stanie gazowym wodę określa się mianem pary wodnej, a w stałym stanie skupienia – lodem. Słowo woda jako nazwa związku chemicznego może się odnosić do każdego stanu skupienia.&lt;/str&gt;
    &lt;str name="id"&gt;2&lt;/str&gt;
    &lt;str name="lang"&gt;pl&lt;/str&gt;
    &lt;str name="title"&gt;Woda&lt;/str&gt;
  &lt;/doc&gt;
  &lt;doc&gt;
    &lt;str name="body"&gt;Water is a chemical substance with the chemical formula H2O. A water molecule contains one oxygen and two hydrogen atoms connected by covalent bonds. Water is a liquid at ambient conditions, but it often co-exists on Earth with its solid state, ice, and gaseous state (water vapor or steam). Water also exists in a liquid crystal state near hydrophilic surfaces.[1][2] Under nomenclature used to name chemical compounds, Dihydrogen monoxide is the scientific name for water, though it is almost never used.&lt;/str&gt;
    &lt;str name="id"&gt;1&lt;/str&gt;
    &lt;str name="lang"&gt;en&lt;/str&gt;
    &lt;str name="title"&gt;Water&lt;/str&gt;
  &lt;/doc&gt;
  &lt;doc&gt;
    &lt;str name="body"&gt;Wasser (H2O) ist eine chemische Verbindung aus den Elementen Sauerstoff (O) und Wasserstoff (H). Wasser ist die einzige chemische Verbindung auf der Erde, die in der Natur in allen drei Aggregatzuständen vorkommt. Die Bezeichnung Wasser wird dabei besonders für den flüssigen Aggregatzustand verwendet. Im festen (gefrorenen) Zustand spricht man von Eis, im gasförmigen Zustand von Wasserdampf.&lt;/str&gt;
    &lt;str name="id"&gt;3&lt;/str&gt;
    &lt;str name="lang"&gt;de&lt;/str&gt;
    &lt;str name="title"&gt;Wasser&lt;/str&gt;
  &lt;/doc&gt;
&lt;/result&gt;
&lt;/response&gt;</pre>
<p>Jak widać, Solr przy pomocy biblioteki Tika, był w stanie poprawnie określić język trzech dokumentów jakie wysłaliśmy do indeksowania. Oczywiście, nie cieszmy się zbyt wcześnie, ponieważ pomyłki będą się zdarzać, szczególnie w przypadku, kiedy w ramach jednego dokumentu wykorzystywanych jest wiele języków.</p>
<h3>Podsumowanie</h3>
<p>Należy pamiętać, iż funkcjonalność detekcji języka dokumentu nie jest idealna i może się mylić. Dodatkowo, im dłuższe dokumenty, tym dokładniej będzie działać opisywana funkcjonalność. Oczywiście problemem jest to, że nie jesteśmy w stanie wykrywać języka podczas wyszukiwania, jednak nie jest to tylko problem Solr. Z tym możemy radzić sobie poprzez identyfikację przeglądarki użytkownika, języka w niej wykorzystywanej, bądź identyfikacji miejsca z którego łączy się do naszej aplikacji.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2012/01/23/identyfikacja-jezyka-dokumentu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
