[open-ils-commits] r669 - evergreen-ils.org/docs (kgs)
svn at svn.open-ils.org
svn at svn.open-ils.org
Wed Sep 9 13:18:42 EDT 2009
Author: kgs
Date: 2009-09-09 13:18:38 -0400 (Wed, 09 Sep 2009)
New Revision: 669
Added:
evergreen-ils.org/docs/indexedfieldweighting.xml
Log:
Added: evergreen-ils.org/docs/indexedfieldweighting.xml
===================================================================
--- evergreen-ils.org/docs/indexedfieldweighting.xml (rev 0)
+++ evergreen-ils.org/docs/indexedfieldweighting.xml 2009-09-09 17:18:38 UTC (rev 669)
@@ -0,0 +1,233 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="indexedfieldweighting">
+ <title>Indexed-Field and Matchpoint Weighting</title>
+ <info>
+ <abstract>
+ <para>This chapter describes indexed field weighting and matchpoint weighting, which
+ control relevance ranking in Evergreen catalog search results.</para>
+ <para>
+ <tip>
+ <para>In tuning search relevance, it is good practice to make incremental
+ adjustments, capture search logs, and assess results before making further
+ adjustments. </para>
+ </tip>
+ </para>
+ </abstract>
+ </info>
+ <section>
+ <title>Indexed-field Weighting</title>
+ <para>Indexed-field weighting is configured in the Evergreen database in the weight column
+ of the config.metabib_field table, which follows the other four columns in this table:
+ field_class, name, xpath, and format. </para>
+ <para>The following is one representative line from the config.metabib_field table:</para>
+ <para> author | conference |
+ //mods32:mods/mods32:name[@type='conference']/mods32:namePart[../mods32:role/mods32:roleTerm[text()='creator']]
+ | mods32 | 1 ) </para>
+ <para>The default value for index-field weights in config.metabib_field is 1. Adjust the
+ weighting of indexed fields to boost or lower the relevance score for matches on that
+ indexed field. The weight value may be increased or decreased by whole integers. </para>
+ <para>For example, by increasing the weight of the title-proper field from 1 to 2, a search
+ for <emphasis role="bold">jaguar</emphasis> would double the relevance for the book
+ titled <emphasis role="italic">Aimee and Jaguar</emphasis> than for a record with the
+ term <emphasis role="bold">jaguar</emphasis> in another indexed field. </para>
+ </section>
+ <section>
+ <title>Matchpoint Weighting</title>
+ <para> Matchpoint weighting provides another way to fine-tune Evergreen relevance ranking,
+ and is configured through floating-point multipliers in the multiplier column of the
+ search.relevance_adjustment table.</para>
+ <para> Weighting can be adjusted for one, more, or all multiplier fields in
+ search.relevance_adjustment. </para>
+ <para>You can adjust the following three matchpoints:</para>
+ <itemizedlist>
+ <listitem>
+ <para><indexterm>
+ <primary>first_word</primary>
+ </indexterm> boosts relevance if the query is one term long and matches the
+ first term in the indexed field (search for <emphasis role="bold"
+ >twain</emphasis>, get a bonus for <emphasis role="bold">twain,
+ mark</emphasis> but not <emphasis role="bold">mark twain</emphasis>)</para>
+ </listitem>
+ <listitem>
+ <para><indexterm>
+ <primary>word_order</primary>
+ </indexterm> increases relevance for words matching the order of search terms,
+ so that the results for the search <emphasis role="bold">legend
+ suicide</emphasis> would match higher for the book <emphasis role="italic"
+ >Legend of a Suicide</emphasis> than for the book, <emphasis role="italic"
+ >Suicide Legend</emphasis></para>
+ </listitem>
+ <listitem>
+ <para><indexterm>
+ <primary>full_match</primary>
+ </indexterm> boosts relevance when the full query exactly matches the entire
+ indexed field (after space, case, and diacritics are normalized). So a title
+ search for <emphasis role="italic">The Future of Ice</emphasis> would get a
+ relevance boost above <emphasis role="italic">Ice Ages of the
+ Future</emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ <para> Here are the default settings of the search.relevance_adjustment table: </para>
+ <table xml:id="search.relevance">
+ <title>search.relevance_adjustment table</title>
+ <tgroup cols="4">
+ <thead>
+ <row>
+ <entry>field_class</entry>
+ <entry>name</entry>
+ <entry>bump_type</entry>
+ <entry>multiplier</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>author</entry>
+ <entry>conference</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>author</entry>
+ <entry>corporate</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>author </entry>
+ <entry>other </entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>author</entry>
+ <entry>personal</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>keyword</entry>
+ <entry>keyword</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ <row>
+ <entry>series</entry>
+ <entry>seriestitle</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>series</entry>
+ <entry>seriestitle</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>abbreviated</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>abbreviated</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>abbreviated</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>alternative</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>alternative</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>alternative</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>proper</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>proper</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>proper</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>translated</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>translated</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>translated</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>uniform</entry>
+ <entry>first_word</entry>
+ <entry>1.5</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>uniform</entry>
+ <entry>full_match</entry>
+ <entry>20</entry>
+ </row>
+ <row>
+ <entry>title</entry>
+ <entry>uniform</entry>
+ <entry>word_order</entry>
+ <entry>10</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section>
+ <title>Combining Index Weighting and Matchpoint Weighting</title>
+ <para>Index weighting and matchpoint weighting may be combined. The relevance boost of the
+ combined weighting is equal to the product of the two multiplied values. </para>
+ <para>If the relevance setting in the config.metabib_field were increased to 2, and the
+ multiplier set to 1.2 in the search.relevance_adjustment table, the resulting matchpoint
+ increase would be 240%. </para>
+ <note>
+ <para>In practice, these weights are applied serially -- first the index weight, then
+ all the matchpoint weights that apply -- because they are evaluated at different
+ stages of the search process.</para>
+ </note>
+ </section>
+</section>
More information about the open-ils-commits
mailing list