Skip to main content.
home | support | download

Back to List Archive

Re: [swish-e] How to use MetaNamesRank properly?

From: Peter Karman <peter(at)>
Date: Thu Mar 19 2009 - 19:34:34 GMT
Andrew Smith wrote on 03/19/2009 02:07 PM:
> I basically have the same issue and questions as this previous post of
> a couple years ago, and I have some followup questions (see below).
>>> Hi guys,
>>> I am having a problem when trying to make MetaNamesRank directive
>>> changes search ratings for xml files. For testing  I created a directory
>>> with just two small xml files
>>> aa.xml:
>>> <content>
>>>     <contentlabel>test</contentlabel>
>>>     <contentbody>some body</contentbody>
>>> </content>
>>> bb.xml:
>>> <content>
>>>     <contentlabel>some label</contentlabel>
>>>     <contentbody>test</contentbody>
>> </content>
>>> Config file I was using looks like that:
>>> MetaNames content contentlabel contentbody
>>> MetaNamesRank 5 contentlabel
>>> MetaNamesRank 0 contentbody
>>> IndexContents XML .xml
>>> IndexDir C:/SWISH-E/bin/index/
>>> IndexFile C:/SWISH-E/bin/test_index.dat
>>> Note that I have tried to use all sort of different ratings and
>>> different parser as well (by using XML2). It seems that setting any
>>> values for MetaNamesRank doesn't change result of my search:
>>> swish-e.exe -f test_index.dat -w (content=test)
>>> For any settings of MetaNamesRank both my files are getting the same
>>> Rank=1000:
>>> 1000 C:/SWISH-E/bin/index/bb.xml "bb.xml" 97
>>> 1000 C:/SWISH-E/bin/index/aa.xml "aa.xml" 96
>>> Is it something that I am doing wrong?
>> a couple things.
>> 1. You aren't searching for either of the MetaNames that you set a rank
>> bias for. 'content' is just a wrapper and I wouldn't expect it to show a
>> bias.
> I am also trying to use MetaNamesRank the same as above and finding
> that it has no effect (the ranking is the same with or without the
> MetaNamesRank configuration, for both default ranking scheme and IDF)
> and I'm doing this on a larger test corpus of 1000 real documents. So
> are you saying that the MetaNamesRank settings will only be used for
> queries that explicitly refer to those MetaNames given ranks/biases?
> For example, would it have an effect for a query like this:
> swish-e.exe -f test_index.dat -w (contentlabel=test OR contentbody=test)
> but not the previously given query:
> swish-e.exe -f test_index.dat -w (content=test)
> If this is the case, is there any way to achieve the effect that the
> original poster desired? In other words, you enclose your XML
> documents in an all-encompassing XML tag (like <content> above), which
> is one of your metanames, but that also has sub-tags which you also
> use as your metanames. And you want all indexed text to be in both the
> all-encompassing XML tag (<content>) metaname and in all the sub-tag
> metanames. Then, when you do a search against the all-encompassing
> metaname (e.g. content=search_text), Swish-e will consider the sub-tag
> metanames where search_text is found and consider their MetaNamesRank
> values in computing relevance. Is there any way to achieve this?
> Thanks for your help and suggestions.

swish-e assigns one only MetaName per word (token). If you are using the
libxml2 XML parser, you can do something like this:

 MetaNameAlias swishdefault content

but that I'm not sure that will help with your ranking issue.

If you are using svn trunk, you can recompile after setting DEBUG_RANK=1
in search.h and that might help shed some light. The bias feature
probably needs a bigger spread than the +/-10 in there right now.

Peter Karman  .  peter(at)  .

Users mailing list
Received on Thu Mar 19 15:34:32 2009