<?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>tie &#8211; Solr.pl</title>
	<atom:link href="https://solr.pl/tag/tie/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:23:59 +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>Do czego może przydać się tie w Dismax&#8217;ie ?</title>
		<link>https://solr.pl/2012/02/06/do-czego-moze-przydac-sie-tie-w-dismaxie/</link>
					<comments>https://solr.pl/2012/02/06/do-czego-moze-przydac-sie-tie-w-dismaxie/#respond</comments>
		
		<dc:creator><![CDATA[Rafał Kuć]]></dc:creator>
		<pubDate>Mon, 06 Feb 2012 22:23:11 +0000</pubDate>
				<category><![CDATA[Solr]]></category>
		<category><![CDATA[dismax]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[tie]]></category>
		<guid isPermaLink="false">http://sematext.solr.pl/?p=398</guid>

					<description><![CDATA[Dismax parser obecny jest w Solr od niepamiętnych czasów. W większości wypadków jednak korzystamy z parameterów takich, jak qf, pf, czy mm&#160;zapominając zupełnie o bardzo przydatnym parametrze pozwalającym kontrolować wpływ mniej ważnych pól na score dokumentu, czyli o parametrze tie.]]></description>
										<content:encoded><![CDATA[<p>Dismax parser obecny jest w Solr od niepamiętnych czasów. W większości wypadków jednak korzystamy z parameterów takich, jak <em>qf</em>, <em>pf</em>, czy <em>mm</em>&nbsp;zapominając zupełnie o bardzo przydatnym parametrze pozwalającym kontrolować wpływ mniej ważnych pól na score dokumentu, czyli o parametrze <em>tie</em>.</p>
<p><span id="more-398"></span></p>
<h3>Tie, czyli co ?</h3>
<p>Parametr <em>tie</em>&nbsp;pozwala kontrolować, jak mocny wpływ na score mają pola, które otrzymały score&nbsp;mniejszy od najwyższego. W przypadku ustawienia parametru <em>tie</em>&nbsp;na wartość 0.0, podczas liczenia score będą brane pod uwagę tylko i wyłącznie te pola, które otrzymały najwyższy score. W przypadku ustawienia tego parametru na wartość 0.99, pola, które mają score mniejszy od najwyższego będą traktowane prawie identycznie, jak pole o najwyższym wyliczonym score. Sprawdźmy zatem, czy jest to prawda.</p>
<h3>Struktura danych i ich przykład</h3>
<p>Do testów wybrałem sobie bardzo prostą strukturę indeksu, która teoretycznie mogłaby przedstawiać produkty w sklepie internetowym, oczywiście w ogromnym uproszczeniu:
</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="description" type="text_ws" indexed="true" stored="true" /&gt;
&lt;field name="author" type="text_ws" indexed="true" stored="true" multiValued="true" /&gt;</pre>
<p>Typ <em>text_ws</em>&nbsp;został zdefiniowany w następujący sposób:
</p>
<pre class="brush:xml">&lt;fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100"&gt;
 &lt;analyzer&gt;
  &lt;tokenizer class="solr.WhitespaceTokenizerFactory"/&gt;
  &lt;filter class="solr.LowerCaseFilterFactory"/&gt;
 &lt;/analyzer&gt;
&lt;/fieldType&gt;</pre>
<p>Natomiast przykładowe dane wyglądają w następujący sposób:
</p>
<pre class="brush:xml">&lt;add&gt;
 &lt;doc&gt;
  &lt;field name="id"&gt;1&lt;/field&gt;
  &lt;field name="title"&gt;First test book&lt;/field&gt;
  &lt;field name="description"&gt;This is a description of the first test book by Joe and Jane Blow&lt;/field&gt;
  &lt;field name="author"&gt;Joe Blow&lt;/field&gt;
  &lt;field name="author"&gt;Jane Blow&lt;/field&gt;
 &lt;/doc&gt;
 &lt;doc&gt;
  &lt;field name="id"&gt;2&lt;/field&gt;
  &lt;field name="title"&gt;Second test book&lt;/field&gt;
  &lt;field name="description"&gt;This is a description of the second test book by Joe Blow&lt;/field&gt;
  &lt;field name="author"&gt;Joe Blow&lt;/field&gt;
 &lt;/doc&gt;
&lt;/add&gt;</pre>
<h3>Rezultat z tie == 0.01</h3>
<p>Zacznijmy więc testy. Na pierwszy ogień idzie następujące zapytanie:
</p>
<pre class="brush:xml">defType=dismax&amp;qf=title^1000 description author^10&amp;tie=0.01&amp;fl=id,score&amp;debugQuery=on&amp;indent=true&amp;q=joe blow book</pre>
<p>Powyższe skutkuje następującymi wynikami zwróconymi przez Solr (wizualizacja &#8211; <a href="http://explain.solr.pl/explains/cf0wnkpj" target="_blank" rel="noopener noreferrer">http://explain.solr.pl/explains/cf0wnkpj</a>):
</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;8&lt;/int&gt;
  &lt;lst name="params"&gt;
    &lt;str name="fl"&gt;id,score&lt;/str&gt;
    &lt;str name="debugQuery"&gt;on&lt;/str&gt;
    &lt;str name="indent"&gt;true&lt;/str&gt;
    &lt;str name="tie"&gt;0.01&lt;/str&gt;
    &lt;str name="q"&gt;joe blow book&lt;/str&gt;
    &lt;str name="qf"&gt;title^1000 description author^10&lt;/str&gt;
    &lt;str name="defType"&gt;dismax&lt;/str&gt;
  &lt;/lst&gt;
&lt;/lst&gt;
&lt;result name="response" numFound="2" start="0" maxScore="0.07342677"&gt;
  &lt;doc&gt;
    &lt;float name="score"&gt;0.07342677&lt;/float&gt;
    &lt;str name="id"&gt;2&lt;/str&gt;
  &lt;/doc&gt;
  &lt;doc&gt;
    &lt;float name="score"&gt;0.073365316&lt;/float&gt;
    &lt;str name="id"&gt;1&lt;/str&gt;
  &lt;/doc&gt;
&lt;/result&gt;
&lt;lst name="debug"&gt;
  &lt;str name="rawquerystring"&gt;joe blow book&lt;/str&gt;
  &lt;str name="querystring"&gt;joe blow book&lt;/str&gt;
  &lt;str name="parsedquery"&gt;+((DisjunctionMaxQuery((author:joe^10.0 | title:joe^1000.0 | description:joe)~0.01) DisjunctionMaxQuery((author:blow^10.0 | title:blow^1000.0 | description:blow)~0.01) DisjunctionMaxQuery((author:book^10.0 | title:book^1000.0 | description:book)~0.01))~3) ()&lt;/str&gt;
  &lt;str name="parsedquery_toString"&gt;+(((author:joe^10.0 | title:joe^1000.0 | description:joe)~0.01 (author:blow^10.0 | title:blow^1000.0 | description:blow)~0.01 (author:book^10.0 | title:book^1000.0 | description:book)~0.01)~3) ()&lt;/str&gt;
  &lt;lst name="explain"&gt;
    &lt;str name="2"&gt;
0.07342677 = (MATCH) sum of:
  0.07342677 = (MATCH) sum of:
    8.957935E-4 = (MATCH) max plus 0.01 times others of:
      8.9543534E-4 = (MATCH) weight(author:joe^10.0 in 1), product of:
        0.0024097771 = queryWeight(author:joe^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.3715843 = (MATCH) fieldWeight(author:joe in 1), product of:
          1.0 = tf(termFreq(author:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.625 = fieldNorm(field=author, doc=1)
      3.5817415E-5 = (MATCH) weight(description:joe in 1), product of:
        2.4097772E-4 = queryWeight(description:joe), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:joe in 1), product of:
          1.0 = tf(termFreq(description:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
    8.957935E-4 = (MATCH) max plus 0.01 times others of:
      8.9543534E-4 = (MATCH) weight(author:blow^10.0 in 1), product of:
        0.0024097771 = queryWeight(author:blow^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.3715843 = (MATCH) fieldWeight(author:blow in 1), product of:
          1.0 = tf(termFreq(author:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.625 = fieldNorm(field=author, doc=1)
      3.5817415E-5 = (MATCH) weight(description:blow in 1), product of:
        2.4097772E-4 = queryWeight(description:blow), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:blow in 1), product of:
          1.0 = tf(termFreq(description:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
    0.07163518 = (MATCH) max plus 0.01 times others of:
      0.07163482 = (MATCH) weight(title:book^1000.0 in 1), product of:
        0.2409777 = queryWeight(title:book^1000.0), product of:
          1000.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(title:book in 1), product of:
          1.0 = tf(termFreq(title:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=title, doc=1)
      3.5817415E-5 = (MATCH) weight(description:book in 1), product of:
        2.4097772E-4 = queryWeight(description:book), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:book in 1), product of:
          1.0 = tf(termFreq(description:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
&lt;/str&gt;
    &lt;str name="1"&gt;
0.073365316 = (MATCH) sum of:
  0.073365316 = (MATCH) sum of:
    7.1670645E-4 = (MATCH) max plus 0.01 times others of:
      7.163483E-4 = (MATCH) weight(author:joe^10.0 in 0), product of:
        0.0024097771 = queryWeight(author:joe^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(author:joe in 0), product of:
          1.0 = tf(termFreq(author:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=author, doc=0)
      3.5817415E-5 = (MATCH) weight(description:joe in 0), product of:
        2.4097772E-4 = queryWeight(description:joe), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:joe in 0), product of:
          1.0 = tf(termFreq(description:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    0.0010134276 = (MATCH) max plus 0.01 times others of:
      0.0010130694 = (MATCH) weight(author:blow^10.0 in 0), product of:
        0.0024097771 = queryWeight(author:blow^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.42039964 = (MATCH) fieldWeight(author:blow in 0), product of:
          1.4142135 = tf(termFreq(author:blow)=2)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=author, doc=0)
      3.5817415E-5 = (MATCH) weight(description:blow in 0), product of:
        2.4097772E-4 = queryWeight(description:blow), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:blow in 0), product of:
          1.0 = tf(termFreq(description:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    0.07163518 = (MATCH) max plus 0.01 times others of:
      0.07163482 = (MATCH) weight(title:book^1000.0 in 0), product of:
        0.2409777 = queryWeight(title:book^1000.0), product of:
          1000.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(title:book in 0), product of:
          1.0 = tf(termFreq(title:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=title, doc=0)
      3.5817415E-5 = (MATCH) weight(description:book in 0), product of:
        2.4097772E-4 = queryWeight(description:book), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0532142E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:book in 0), product of:
          1.0 = tf(termFreq(description:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    &lt;/str&gt;
  &lt;/lst&gt;
&lt;/lst&gt;
&lt;/response&gt;</pre>
<h4 class="brush:xml">Pierwszy dokument</h4>
<p><a href="http://solr.pl/wp-content/uploads/2012/02/tie001_doc12.png"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-2088" title="tie001_doc1" src="http://solr.pl/wp-content/uploads/2012/02/tie001_doc12.png" alt="" width="600" height="248"></a></p>
<h4>Drugi dokument</h4>
<p><a href="http://solr.pl/wp-content/uploads/2012/02/tie001_doc21.png"><img decoding="async" class="alignnone size-full wp-image-2089" title="tie001_doc2" src="http://solr.pl/wp-content/uploads/2012/02/tie001_doc21.png" alt="" width="600" height="248"></a></p>
<h4>Czyli jak to wygląda ?</h4>
<p>Jak widać w przypadku przekazania wartości 0.01 do parametru <em>tie</em> pola, które mają najwyższy score, mają największe znaczenie, z niedużym znaczeniem innych pól. Widać to dobrze na przykładzie słowa <em>book</em> w pierwszym dokumencie na liście wyników. Score dla tego słowa, to <code></code><code>0.07163518</code>, na który został wyliczony jako suma pola, które ma najwyższy score dla tego słowa, czyli pola <em>title</em> oraz wartości score reszty pól pomnożonych przez wartość <em>tie</em>, czyli 0.01.</p>
<h3>Rezultat z tie == 0.99</h3>
<p>Drugie zapytanie wygląda w następujący sposób:
</p>
<pre class="brush:xml">defType=dismax&amp;qf=title^1000 description author^10&amp;tie=0.99&amp;fl=id,score&amp;debugQuery=on&amp;indent=true&amp;q=joe blow book</pre>
<p>Wyniki zwrócone przez Solr (wizualizacja &#8211; <a href="http://explain.solr.pl/explains/1w7b06lv" target="_blank" rel="noopener noreferrer">http://explain.solr.pl/explains/1w7b06lv</a>):
</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;15&lt;/int&gt;
  &lt;lst name="params"&gt;
    &lt;str name="fl"&gt;id,score&lt;/str&gt;
    &lt;str name="debugQuery"&gt;on&lt;/str&gt;
    &lt;str name="indent"&gt;true&lt;/str&gt;
    &lt;str name="tie"&gt;0.99&lt;/str&gt;
    &lt;str name="q"&gt;joe blow book&lt;/str&gt;
    &lt;str name="qf"&gt;title^1000 description author^10&lt;/str&gt;
    &lt;str name="defType"&gt;dismax&lt;/str&gt;
  &lt;/lst&gt;
&lt;/lst&gt;
&lt;result name="response" numFound="2" start="0" maxScore="0.07352995"&gt;
  &lt;doc&gt;
    &lt;float name="score"&gt;0.07352995&lt;/float&gt;
    &lt;str name="id"&gt;2&lt;/str&gt;
  &lt;/doc&gt;
  &lt;doc&gt;
    &lt;float name="score"&gt;0.0734685&lt;/float&gt;
    &lt;str name="id"&gt;1&lt;/str&gt;
  &lt;/doc&gt;
&lt;/result&gt;
&lt;lst name="debug"&gt;
  &lt;str name="rawquerystring"&gt;joe blow book&lt;/str&gt;
  &lt;str name="querystring"&gt;joe blow book&lt;/str&gt;
  &lt;str name="parsedquery"&gt;+((DisjunctionMaxQuery((author:joe^10.0 | title:joe^1000.0 | description:joe)~0.99) DisjunctionMaxQuery((author:blow^10.0 | title:blow^1000.0 | description:blow)~0.99) DisjunctionMaxQuery((author:book^10.0 | title:book^1000.0 | description:book)~0.99))~3) ()&lt;/str&gt;
  &lt;str name="parsedquery_toString"&gt;+(((author:joe^10.0 | title:joe^1000.0 | description:joe)~0.99 (author:blow^10.0 | title:blow^1000.0 | description:blow)~0.99 (author:book^10.0 | title:book^1000.0 | description:book)~0.99)~3) ()&lt;/str&gt;
  &lt;lst name="explain"&gt;
    &lt;str name="2"&gt;
0.07352995 = (MATCH) sum of:
  0.07352995 = (MATCH) sum of:
    9.308678E-4 = (MATCH) max plus 0.99 times others of:
      8.9540955E-4 = (MATCH) weight(author:joe^10.0 in 1), product of:
        0.0024097078 = queryWeight(author:joe^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.3715843 = (MATCH) fieldWeight(author:joe in 1), product of:
          1.0 = tf(termFreq(author:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.625 = fieldNorm(field=author, doc=1)
      3.581638E-5 = (MATCH) weight(description:joe in 1), product of:
        2.4097077E-4 = queryWeight(description:joe), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:joe in 1), product of:
          1.0 = tf(termFreq(description:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
    9.308678E-4 = (MATCH) max plus 0.99 times others of:
      8.9540955E-4 = (MATCH) weight(author:blow^10.0 in 1), product of:
        0.0024097078 = queryWeight(author:blow^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.3715843 = (MATCH) fieldWeight(author:blow in 1), product of:
          1.0 = tf(termFreq(author:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.625 = fieldNorm(field=author, doc=1)
      3.581638E-5 = (MATCH) weight(description:blow in 1), product of:
        2.4097077E-4 = queryWeight(description:blow), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:blow in 1), product of:
          1.0 = tf(termFreq(description:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
    0.071668215 = (MATCH) max plus 0.99 times others of:
      0.07163276 = (MATCH) weight(title:book^1000.0 in 1), product of:
        0.24097076 = queryWeight(title:book^1000.0), product of:
          1000.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(title:book in 1), product of:
          1.0 = tf(termFreq(title:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=title, doc=1)
      3.581638E-5 = (MATCH) weight(description:book in 1), product of:
        2.4097077E-4 = queryWeight(description:book), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:book in 1), product of:
          1.0 = tf(termFreq(description:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=1)
&lt;/str&gt;
    &lt;str name="1"&gt;
0.0734685 = (MATCH) sum of:
  0.0734685 = (MATCH) sum of:
    7.517859E-4 = (MATCH) max plus 0.99 times others of:
      7.1632763E-4 = (MATCH) weight(author:joe^10.0 in 0), product of:
        0.0024097078 = queryWeight(author:joe^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(author:joe in 0), product of:
          1.0 = tf(termFreq(author:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=author, doc=0)
      3.581638E-5 = (MATCH) weight(description:joe in 0), product of:
        2.4097077E-4 = queryWeight(description:joe), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:joe in 0), product of:
          1.0 = tf(termFreq(description:joe)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    0.0010484984 = (MATCH) max plus 0.99 times others of:
      0.0010130403 = (MATCH) weight(author:blow^10.0 in 0), product of:
        0.0024097078 = queryWeight(author:blow^10.0), product of:
          10.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.42039964 = (MATCH) fieldWeight(author:blow in 0), product of:
          1.4142135 = tf(termFreq(author:blow)=2)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=author, doc=0)
      3.581638E-5 = (MATCH) weight(description:blow in 0), product of:
        2.4097077E-4 = queryWeight(description:blow), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:blow in 0), product of:
          1.0 = tf(termFreq(description:blow)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    0.071668215 = (MATCH) max plus 0.99 times others of:
      0.07163276 = (MATCH) weight(title:book^1000.0 in 0), product of:
        0.24097076 = queryWeight(title:book^1000.0), product of:
          1000.0 = boost
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.29726744 = (MATCH) fieldWeight(title:book in 0), product of:
          1.0 = tf(termFreq(title:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.5 = fieldNorm(field=title, doc=0)
      3.581638E-5 = (MATCH) weight(description:book in 0), product of:
        2.4097077E-4 = queryWeight(description:book), product of:
          0.5945349 = idf(docFreq=2, maxDocs=2)
          4.0530972E-4 = queryNorm
        0.14863372 = (MATCH) fieldWeight(description:book in 0), product of:
          1.0 = tf(termFreq(description:book)=1)
          0.5945349 = idf(docFreq=2, maxDocs=2)
          0.25 = fieldNorm(field=description, doc=0)
    &lt;/str&gt;
  &lt;/lst&gt;
&lt;/lst&gt;
&lt;/response&gt;</pre>
<h4>Pierwszy dokument</h4>
<p><a href="http://solr.pl/wp-content/uploads/2012/02/tie099_doc11.png"><img decoding="async" class="alignnone size-full wp-image-2091" title="tie099_doc1" src="http://solr.pl/wp-content/uploads/2012/02/tie099_doc11.png" alt="" width="600" height="245"></a></p>
<h4>Drugi dokument</h4>
<p><a href="http://solr.pl/wp-content/uploads/2012/02/tie099_doc21.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2092" title="tie099_doc2" src="http://solr.pl/wp-content/uploads/2012/02/tie099_doc21.png" alt="" width="600" height="248"></a></p>
<h4>Czyli jak to wygląda ?</h4>
<p>Jak widać, score poszczególnych dokumentów uległ zmianie. Spójrzmy na ten sam dokument i te same słowo <em>book</em>. W przypadku, kiedy przekazaliśmy wartość 0.99 jako wartość parametru <em>tie</em>, wartość score zwiększyła się w stosunku do tej, którą obserwowaliśmy w przypadku <em>tie</em> równego 0.01. Oczywiście na zmianę wartości score ma także wpływ współczynnik normalizacji, ale pomińmy go w celu uproszczenia <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zatem w drugim przypadku obserwujemy score wynoszący <code></code><code>0.071668215</code>, składa się na to wartość score dla pola <em>title</em> oraz suma wartości score dla każdego z pozostałych pól, ale tym razem pomnożonych przez wartość 0.99.</p>
<h3>Podsumowując</h3>
<p>Jak widać, parametr <em>tie</em>&nbsp;pozwala nam na dość dużą kontrolę tego, jak wyliczany jest score w przypadku DisjunctionMaxQuery. W ekstremalnym przypadku, kiedy chcielibyśmy, aby tylko pola, które mają najwyższy score miały znaczenie, możemy ustawić parametr <em>tie</em> na wartość 0.0. <em>Tie</em> pozwala nam na kontrolę tego, czy chcemy, aby mało znaczące pola, po których wyszukujemy, wpływały na wartość score dokumentów, a tym samym na ich pozycję na liście wyników wyszukiwania kiedy korzystamy z Dismax&#8217;a.</p>
<h3>Na koniec</h3>
<p>Jeżeli zastanawiasz się z pomocą czego wygenerowaliśmy wykresy, które widoczne są w treści, zapraszamy na&nbsp;<a href="http://explain.solr.pl/help" target="_blank" rel="noopener noreferrer">http://explain.solr.pl/help</a>, może&nbsp;<a href="http://explain.solr.pl/" target="_blank" rel="noopener noreferrer">http://explain.solr.pl/</a> będzie przydatne w Twoim przypadku.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://solr.pl/2012/02/06/do-czego-moze-przydac-sie-tie-w-dismaxie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
