<?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>template &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/template/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>Tue, 10 Nov 2020 09:12:06 +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>Szybkie spojrzenie &#8211; Solritas</title>
		<link>https://solr.pl/2010/09/27/szybkie-spojrzenie-solritas/</link>
					<comments>https://solr.pl/2010/09/27/szybkie-spojrzenie-solritas/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 27 Sep 2010 05:07:26 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[response]]></category>
		<category><![CDATA[response writer]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[solritas]]></category>
		<category><![CDATA[szablon]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[velocity]]></category>
		<category><![CDATA[velocity response writer]]></category>
		<category><![CDATA[writer]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=36</guid>

					<description><![CDATA[Obserwując listy dyskusyjne możemy trafić na rozmowy o funkcjonalności Solr, której nazwa brzmi dość dziwnie &#8211; Solritas. Co to za funkcjonalność ? Jakie ma zastosowanie ? Aby poznać odpowiedzi na te pytania zapraszam do lektury dalszej części wpisu. Należy pamiętać,]]></description>
										<content:encoded><![CDATA[<p>Obserwując listy dyskusyjne możemy trafić na rozmowy o funkcjonalności Solr, której nazwa brzmi dość dziwnie &#8211; <em>Solritas</em>.  Co to za funkcjonalność ? Jakie ma zastosowanie ? Aby poznać odpowiedzi  na te pytania zapraszam do lektury dalszej części wpisu.</p>
<p><span id="more-36"></span></p>
<p>Należy pamiętać, iż opisywana funkcjonalność dostępna jest w Solr od wersji 1.4. Dokładniej, w Solr w wersji 1.4 oraz 1.4.1 funkcjonalność jest udostępniania w Solr, jako dodatek dostępny w katalogu <em>contrib</em>. Natomiast w wersji 4.0 (<em>trunk</em> w svn) jest to już jedna ze standardowych funkcjonalności.</p>
<h3><strong>Solritas, czyli co ?</strong></h3>
<p>Przeglądając plik <em>solrconfig.xml</em> dostarczany z przykładową konfiguracją najnowszych wersji Solr możemy trafić na następującą definicję:
</p>
<pre class="brush:xml">&lt;requestHandler name="/browse"&gt;
&nbsp;&nbsp; &lt;lst name="defaults"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="wt"&gt;velocity&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="v.template"&gt;browse&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="v.layout"&gt;layout&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="title"&gt;Solritas&lt;/str&gt;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="defType"&gt;dismax&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="q.alt"&gt;*:*&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="rows"&gt;10&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="fl"&gt;*,score&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="facet"&gt;on&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="facet.field"&gt;cat&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="facet.field"&gt;manu_exact&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="facet.mincount"&gt;1&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="qf"&gt;text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="hl"&gt;on&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="hl.fl"&gt;text features name&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="f.name.hl.fragsize"&gt;0&lt;/str&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;str name="f.name.hl.alternateField"&gt;name&lt;/str&gt;
&nbsp;&nbsp; &lt;/lst&gt;
&lt;/requestHandler&gt;</pre>
<p>Bliższe przyjrzenie się powyższej konfiguracji może dać już  odpowiedź osobie, która miała do czynienia z różnymi formatami  szablonów. Powyższy wpis definiuje handler oparty o <em>solr.SearchHandler</em>, ale z innym, niż można by było podejrzewać <em>response writerem</em> &#8211; <em>VelocityResponseWriter</em>. Umożliwia on przetwarzanie wyników odpowiedzi z wykorzystaniem systemu szablonów jakim jest <em>Velocity</em> (<a href="http://velocity.apache.org/" target="_blank" rel="noopener noreferrer">http://velocity.apache.org/</a>).  Dzięki wykorzystaniu takiego rozwiązania jesteśmy w stanie w bardzo  szybkim czasie stworzyć prototyp i zaprezentować wyniki wyszukiwania w  przystępny, dla np. użytkownika biznesowego, sposób. Nie ma konieczności  pisania od podstaw aplikacji wykorzystującej Solr &#8211; tworzymy własny  szablon i gotowe, możemy korzystać z Solr, który będzie opakowywał  wyniki wyszukiwania w nasz szablon.</p>
<h3><strong>Konfiguracja</strong></h3>
<p>Powyżej przedstawiona konfiguracja została skopiowana z  przykładowej konfiguracji dostarczanej z Solr. Co jednak oznaczają  poszczególne parametry i jakie mamy możliwości wpływania na zachowanie <em>Velocity</em> ?<strong> </strong></p>
<p>Aby zacząć korzystać z Solritas, należy wykonać kilka zmian w konfiguracji:</p>
<ol>
<li>Dodać informacje o tym, że chcemy wykorzystywać <em>VelocityResponseWriter.<br />
</em></li>
<li>Dodać  odpowiednią definicję handlera (określającą wykorzystanie odpowiedniego  formatu odpowiedzi i konfiguracji Velocity, na przykład taką jak  przedstawiona powyżej).</li>
<li>W przypadku korzystania z Solr w wersji  1.4.x należy zadbać o odpowiednie odpowiednie wersje bibliotek (należy  skopiować je z katalogu <em>/contrib/velocity/src/main/lib</em> do katalogu z bibliotekami rdzenia, w którym chcemy użyć Solritas). Te biblioteki to:
<ol>
<li>apache-solr-velocity-1.4.dev.jar</li>
<li>commons-beanutils-1.7.0.jar</li>
<li>commons-collections-3.2.1.jar</li>
<li>velocity-1.6.1.jar</li>
<li>velocity-tools-2.0-beta3.jar</li>
</ol>
</li>
</ol>
<p>Po spełnieniu powyższych warunków i uruchomieniu Solr możemy  sprawdzić, czy funkcjonalność działa. W tym celu należy dowolną metodą  (np. za pomocą przeglądarki) wejść na adres:  <em>http://localhost:8983/solr/browse</em>. Naszym oczom powinnien ukazać się  prosta formatka umożliwiająca wyszukiwanie, posiadająca funkcjonalność <em>autocomplete</em> oraz pokazująca prosty <em>faceting</em>.</p>
<h3><strong>Ale co z tymi parametrami ?<br />
</strong></h3>
<p><em>Solritas</em>, czy inaczej, <em>VelocityResponseWriter </em>posiada szereg parametrów pozwalających konfigurować jego zachowanie. Te parametry to:</p>
<ul>
<li><em>v.template</em> &#8211; nazwa szablonu Velocity,  który ma zostać użyty do wyświetlenia strony. Nazwę szablonu podajemy  bez rozszerzenia &#8217;.vm&#8217;. W przypadku braku tego parametru zostanie  wybrany domyślny szablon o nazwie <em>default</em>.</li>
<li><em>debugQuery</em> &#8211; podobnie jak w przypadku zwykłych zapytań przy  pomocy metody GET,  tak samo w tym wypadku istnieje możliwość pobrania  dodatkowych  informacji dotyczących przetwarzania zapytania. W przypadku  ustawienia  tego parametru na wartość <em>true</em>, oprócz dodatkowych informacji w stopce strony, każdy wynik będzie zawierał dodatkowe informacje diagnostyczne.</li>
<li><em>v.json</em> &#8211; parametr umożliwiający opakowanie odpowiedzi Velocity w funkcję JSON`a o nazwie podanej jako wartość parametru.</li>
<li><em>v.layout</em> &#8211; nazwa szablonu, który będzie zawierał szablon zdefiniowany w parametrze <em>v.template</em>. W tym wypadku zawartość szablonu zdefiniowanego w parametrze <em>v.template</em> zostanie umieszczona w zmiennej <em>$content</em> w celu użycia w szablonie zdefiniowanym w opisywanym parametrze.</li>
<li><em>v.base_dir</em> &#8211; określa katalog z którego mają być ładowane szablony. Wartość domyślna parametru to <em>conf/velocity/</em>.</li>
<li><em>v.properties</em> &#8211; określa plik z konfiguracją Velocity. Domyślna wartość parametru to <em>velocity.properties</em>.</li>
<li><em>v.contentsType</em> &#8211; ustawia nagłówek HTTP odpowiedzialny za przenoszenie informacji o rodzaju treści.</li>
</ul>
<h3><strong>Kontekst Velocity</strong></h3>
<p>Osoby,  które miały styczność z Velocity wiedzą, iż w tzw. kontekście można  umieszczać obiekty klas pomocniczych, ułatwiające generowanie strony  przez szablony. VelocityResponseWriter udostępnia w swoim kontekście  szereg takich właśnie helperów, pod odpowiednimi skrótami dostępne są  następujące klasy pomocnicze:</p>
<ul>
<li><em>esc </em>&#8211; instancja EscapeTool</li>
<li><em>date </em>&#8211; instancja ComparisonDateTool</li>
<li><em>list</em> &#8211; instancja ListTool</li>
<li><em>math </em>&#8211; instancja MathTool</li>
<li><em>number </em>&#8211; instancja NumberTool</li>
<li><em>page </em>&#8211; instancja PageTool</li>
<li><em>sort </em>&#8211; instancja SortTool</li>
<li><em>request </em>&#8211; obiekt klasy SolrQueryRequest</li>
<li><em>response </em>&#8211; obiekt klasy SolrQueryResponse</li>
</ul>
<p>Po więcej informacji na temat poszczególnych klas pomocniczych zapraszam na <a href="http://velocity.apache.org/" target="_blank" rel="noopener noreferrer">http://velocity.apache.org/</a>.</p>
<h3><strong>Słów kilka na koniec</strong></h3>
<p>Jeżeli  potrzebujemy szybko wygenerować graficzny interfejs użytkownika i  pokazać go, gdzieś dalej, to Solritas będzie bardzo dobrym rozwiązaniem.  Bez pisania dodatkowej warstwy jesteśmy w stanie szybko zdefiniować  szablon i pokazać wyniki wyszukiwania w formie bardziej przystępnej dla  na przykład osób nie technicznych.</p>
<p>Jako, że  jest to jeden z pierwszych wpisów otwierający serię &#8222;szybkich spojrzeń&#8221; na mniej  lub bardziej znane funkcjonalności Solr wszystkie uwagi, pomysły i  spostrzeżenia będą bardzo mile widziane. Zapraszam do komentowania.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2010/09/27/szybkie-spojrzenie-solritas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
