<?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>boolean &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/boolean/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:34:46 +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>Czy muszę uważać na limit związany z maxBooleanClauses korzystając z filtrów ?</title>
		<link>https://solr.pl/2011/12/19/czy-musze-uwazac-na-limit-zwiazany-z-maxbooleanclauses-korzystajac-z-filtrow/</link>
					<comments>https://solr.pl/2011/12/19/czy-musze-uwazac-na-limit-zwiazany-z-maxbooleanclauses-korzystajac-z-filtrow/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 19 Dec 2011 20:34:02 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[boolean]]></category>
		<category><![CDATA[boolean query]]></category>
		<category><![CDATA[clause]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[max]]></category>
		<category><![CDATA[maxBooleanClause]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[solr]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=339</guid>

					<description><![CDATA[Jedną ze zmiennych konfiguracyjnych, jakie znajdują się w pliku solrconfig.xml jest maxBooleanClauses, która określa maksymalną ilość zapytań boolowskich jaka może być zwarta w ramach pojedynczego zapytania do Solr. Czy muszę uważać na limit związany z tą zmienną korzystając z filtrów]]></description>
										<content:encoded><![CDATA[<p>Jedną ze zmiennych konfiguracyjnych, jakie znajdują się w pliku <em>solrconfig.xml</em> jest <em>maxBooleanClauses</em>, która określa maksymalną ilość zapytań boolowskich jaka może być zwarta w ramach pojedynczego zapytania do Solr. Czy muszę uważać na limit związany z tą zmienną korzystając z filtrów w Solr ? Spróbujmy odpowiedź na to pytanie nie wgłębiając się w kod Lucene i Solr.</p>
<p><span id="more-339"></span></p>
<h3><zapytanie< h3=""></p>
<p>Załóżmy, że standardowo zadawaliśmy następujące zapytanie do Solr:
</p>
<pre class="brush:xml">q=category:1 AND category:2 AND category:3 ... AND category:2000</pre>
<p>Zadanie takiego zapytania z domyślną konfiguracją Solr będzie skutkowało wyjątkiem i komunikatem &#8222;<em>too many boolean clauses</em>&#8222;. Oczywiście, moglibyśmy zmodyfikować opcję <em>maxBooleanClauses</em> i pozbyć się wyjątku, jednak spróbujmy zrobić to w inny sposób:</p>
<h3>Zmieńmy zapytanie na filtry</h3>
<p>Zmieńmy zatem powyższe zapytanie tak, aby wykorzystywało filtry, czyli parametr <em>fq</em>:
</p>
<pre class="brush:xml">q=*:*&amp;fq=category:(1 2 3 ... 2000)</pre>
<p>Wysyłamy powyższe zapytanie i &#8230; i znów to samo &#8211; wyjątek i komunikat &#8222;<em>too many boolean clauses</em>&#8222;. Dzieje się tak dlatego, iż Solr musi &#8222;wyliczyć&#8221; zawartość filtra, a co za tym idzie skonstruować odpowiednie zapytanie. Dokonajmy zatem jeszcze jednej modyfikacji:</p>
<h3>Kolejna modyfikacja zapytania</h3>
<p>Niech nasze zapytanie wygląda w takim wypadku w następujący sposób:
</p>
<pre class="brush:xml">q=*:*&amp;fq=category:1&amp;fq=category:2&amp;fq=category:3&amp;....&amp;fq=category:2000</pre>
<p>Po wysłaniu zmodyfikowanego zapytania naszym oczom ukażą się wyniki wyszukiwania (oczywiście, jeżeli w indeksie znajdują się dokumenty odpowiadające warunkom w zapytaniu). Tym razem Solr nie musiał składać jednego dużego zapytania, dlatego też nie przekroczyliśmy limitu związanego z <em>maxBooleanClauses</em>.</p>
<h3>Podsumowanie</h3>
<p>Jak widać odpowiedź na pytanie zależy od tego, jakie zapytanie chcemy, bądź musimy zadać. W przypadku, kiedy nasze warunki łączy operator logiczny <em>AND</em> możemy pozwolić sobie na zmianę zapytania na wiele parametrów <em>fq</em> ponieważ Solr łączy je automatycznie właśnie tym spójnikiem. Jeżeli natomiast zmuszeni jesteśmy stosować spójnik logiczny <em>OR</em> czekałaby nas zmiana limitu wyznaczonego przez <em>maxBooleanClauses</em>. Należy przy tym pamiętać, iż zwiększanie tego limitu może pociągnąć za sobą spadek wydajności i zwiększone wykorzystanie pamięci.</p>
</p>
<p></zapytanie<></h3>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2011/12/19/czy-musze-uwazac-na-limit-zwiazany-z-maxbooleanclauses-korzystajac-z-filtrow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
