field population and query weighting

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

field population and query weighting

Naomi Dushay
For those VuFind sites in production and near production:

1.  How did you determine the algorithms to populate the index fields  
(e.g. which marc fields should go in title, which in title2, etc.)

2.  How did you determine the query ranking formula (in web/sys/
SOLR.php) ?

Thanks,

Naomi Dushay
[hidden email]




-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: field population and query weighting

Mark Triggs-2
Hi Naomi,


Naomi Dushay <[hidden email]> writes:

> For those VuFind sites in production and near production:
>
> 1.  How did you determine the algorithms to populate the index fields
> (e.g. which marc fields should go in title, which in title2, etc.)

We work with a pair of super-librarians who had already done a lot of
the work of defining indexes in our existing Voyager system.  So, we
took the definitions already present in our Voyager configuration
(display1.cfg (*shudder*)) and wrote some one-shot code to parse and
convert it into a format we could actually work with.  From there, our
all-knowing librarians were able to suggest refinements based on their
test searches of VuFind.


> 2.  How did you determine the query ranking formula (in web/sys/
> SOLR.php) ?

Our weightings were mainly derived through trial and error (mostly
error).  We started out using the existing weightings as a guide and
made some guesses for the new indexes we'd created.  Then we just
continuously tweaked the weightings and asked our people to test it.
Each time they said "That's not working--this really should have found
item X" we'd add that as a test case to a big set of relevance ranking
regression tests, adjusted the weightings, and verified that we hadn't
broken the previous searches too.  We've now got about 30-40 tests that
we use to make sure that we're not messing up existing known-good
searches when adjusting the weightings.

Cheers,

Mark

--
Mark Triggs
<[hidden email]>

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: field population and query weighting

Andrew Nagy-2
In reply to this post by Naomi Dushay
Naomi - the configurations that VuFind comes with out of the box are a result of the same work that Mark did with his librarians.  I worked mainly with our metadata librarian who lives breathes and eats marc for lunch to determine the field mappings.

The query builder is also a results of trial and error - just as Mark has said.  Our librarians have done lots of test searches and finding plenty of errors with the search results.  As of the latest changes I made today to the MarcImporter - I think I have the librarians pretty happy now.

If you can find improvements on these (that are not just for the benefit of your local implementation) I would be more than happy to implement them into the vufind code base.

Andrew

> -----Original Message-----
> From: [hidden email] [mailto:vufind-tech-
> [hidden email]] On Behalf Of Naomi Dushay
> Sent: Monday, July 07, 2008 5:36 PM
> To: [hidden email]
> Subject: [VuFind-Tech] field population and query weighting
>
> For those VuFind sites in production and near production:
>
> 1.  How did you determine the algorithms to populate the index fields
> (e.g. which marc fields should go in title, which in title2, etc.)
>
> 2.  How did you determine the query ranking formula (in web/sys/
> SOLR.php) ?
>
> Thanks,
>
> Naomi Dushay
> [hidden email]
>
>
>
>
> -----------------------------------------------------------------------
> --
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Vufind-tech mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/vufind-tech

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: field population and query weighting

Naomi Dushay
Hey Andrew,

This wasn't meant as a criticism of what's implemented in VuFind -  
more a question about the process institutions are going through.    
"Best" is subjective, and there's also personalities and politics in  
the mix.

Sounds like our plans mirror yours and Mark's.

If we come up with any brilliant tweaks, or even minor ones, I'll be  
glad to share them.  I figure an institution that has both Voyager and  
Unicorn is likely to have some squirrelly practices, though.

- Naomi


On Jul 7, 2008, at 3:37 PM, Andrew Nagy wrote:

> Naomi - the configurations that VuFind comes with out of the box are  
> a result of the same work that Mark did with his librarians.  I  
> worked mainly with our metadata librarian who lives breathes and  
> eats marc for lunch to determine the field mappings.
>
> The query builder is also a results of trial and error - just as  
> Mark has said.  Our librarians have done lots of test searches and  
> finding plenty of errors with the search results.  As of the latest  
> changes I made today to the MarcImporter - I think I have the  
> librarians pretty happy now.
>
> If you can find improvements on these (that are not just for the  
> benefit of your local implementation) I would be more than happy to  
> implement them into the vufind code base.
>
> Andrew
>
>> -----Original Message-----
>> From: [hidden email] [mailto:vufind-tech-
>> [hidden email]] On Behalf Of Naomi Dushay
>> Sent: Monday, July 07, 2008 5:36 PM
>> To: [hidden email]
>> Subject: [VuFind-Tech] field population and query weighting
>>
>> For those VuFind sites in production and near production:
>>
>> 1.  How did you determine the algorithms to populate the index fields
>> (e.g. which marc fields should go in title, which in title2, etc.)
>>
>> 2.  How did you determine the query ranking formula (in web/sys/
>> SOLR.php) ?
>>
>> Thanks,
>>
>> Naomi Dushay
>> [hidden email]
>>
>>
>>
>>
>> -----------------------------------------------------------------------
>> --
>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>> Studies have shown that voting for your favorite open source project,
>> along with a healthy diet, reduces your potential for chronic  
>> lameness
>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>> _______________________________________________
>> Vufind-tech mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/vufind-tech

Naomi Dushay
[hidden email]




-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: field population and query weighting

James Farrugia
In reply to this post by Naomi Dushay
Hi Naomi,

1. We're using the default, out-of-the-box weights, fields, and setup for now with version 0.8.2. No one here really likes
the searching, so in our plans is to use other weights and fields that we used in a different project that involved
lucene, information needs, queries, retrieved documents, and relevance judgments by reference librarians. Making these
changes to indexing, weighting and searching (and using ANDs rather than ORs if we can) is on my list, but I am waiting
till Wayne's latest solrmarc goodies get wrapped up in an official release.

2. As I said, we're using it as is in SOLR.php in 0.8.2. We will change this and use the fields we identified through
our experiments as giving the results our librarians deemed most relevant for the information needs and queries we used.

IN other words, like Mark and Andrew, we relied on our experts and their assessments of relevance. We used
a test suite of about 50 information needs, queries, and relevance judgments.

Jim

>>> On 7/7/2008 at 5:35 PM, Naomi Dushay <[hidden email]> wrote:
> For those VuFind sites in production and near production:
>
> 1.  How did you determine the algorithms to populate the index fields  
> (e.g. which marc fields should go in title, which in title2, etc.)
>
> 2.  How did you determine the query ranking formula (in web/sys/
> SOLR.php) ?
>
> Thanks,
>
> Naomi Dushay
> [hidden email]
>
>
>
>
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08 
> _______________________________________________
> Vufind-tech mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/vufind-tech


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: field population and query weighting

Alan Rykhus
In reply to this post by Naomi Dushay
Hello Naomi,

On Mon, 2008-07-07 at 16:35 -0500, Naomi Dushay wrote:
> For those VuFind sites in production and near production:
>
> 1.  How did you determine the algorithms to populate the index fields
> (e.g. which marc fields should go in title, which in title2, etc.)

I'm using the same indexing as we use in our Aleph indexing tables. This
indexing schema was transferred from our old home grown PALS system. The
librarians like the idea that they get almost the same results as in
Aleph(stemming causes more hits)

> 2.  How did you determine the query ranking formula (in web/sys/
> SOLR.php) ?

I've been using the distributed ranking formula.(In regards to comment
in 1 - they like the addition of the ranking)

al

--
Alan Rykhus
PALS, A Program of the Minnesota State Colleges and Universities
(507)389-1975
[hidden email]


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

testing code for field population and query weighting

Naomi Dushay
In reply to this post by Naomi Dushay
Great feedback so far on my questions below.

Test code: Can/Would anyone share theirs?  It would be great not to  
have to start from scratch.

Thanks,
Naomi

On Jul 7, 2008, at 2 :35 PM, Naomi Dushay wrote:

> For those VuFind sites in production and near production:
>
> 1.  How did you determine the algorithms to populate the index fields
> (e.g. which marc fields should go in title, which in title2, etc.)
>
> 2.  How did you determine the query ranking formula (in web/sys/
> SOLR.php) ?
>
> Thanks,
>
> Naomi Dushay
> [hidden email]
>
>
>
>
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> Vufind-tech mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/vufind-tech

Naomi Dushay
[hidden email]




-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: testing code for field population and query weighting

Mark Triggs-2
Hi Naomi,

I'm happy to share ours if you'll excuse the Perl.  There's really not
much to it: each test just performs a search, scrapes the HTML it gets
back and checks that particular results are within certain ranges.  I've
attached it to this message.

Cheers,

Mark



Naomi Dushay <[hidden email]> writes:

> Great feedback so far on my questions below.
>
> Test code: Can/Would anyone share theirs?  It would be great not to
> have to start from scratch.

--
Mark Triggs
Systems Administrator
Business Systems Support, The National Library of Australia
<[hidden email]>


#!/usr/bin/perl -w
#
# Author: Mark Triggs <[hidden email]>
#


use strict;
use LWP::UserAgent;
use Test::More 'no_plan';

my $ua = new LWP::UserAgent (keep_alive => 1);

my $url = ($ARGV[0] or "http://catalogue.nla.gov.au");


sub do_search
{
    my ($query) = @_;

    my $response = $ua->get ("$url/Search/Home?" .
                             "lookfor=$query&type=all&submit=Find");

    my @titles;
    foreach my $line (split ("\n", $response->content)) {
        if ($line =~ 'a href.*class="title">(.*)</a>') {
            my $title = $1;
            $title =~ s/<span class="highlight">//g;
            $title =~ s/<\/span>//g;
            $title =~ s/\s+/ /g;
            push (@titles, $title);
        }
    }

    return \@titles;
}


sub position
{
    my ($needle, $haystack) = @_;

    my $i = 0;

    foreach my $elt (@$haystack) {
        if ($elt eq $needle) {
            return $i;
        }

        $i++;
    }

    return undef;
}


sub assert
{
    my ($search, $doc, $threshold, $msg) = @_[1,3,5,6];

    my $hits = do_search ($search);

    my $position = position ($doc, $hits);

    ok (defined ($position) && $position < $threshold, $msg) or
      print "Fail: $search\n";
}


sub main
{
    assert (searching_for => "where the wild things are",
            yields => "Where the wild things are / story and pictures by Maurice Sendak",
            within => 2);

    assert (searching_for => "the art of computer programming",
            yields => "The art of computer programming / Donald E. Knuth",
            within => 1);

    assert (searching_for => "History Solicitors New South Wales",
            yields => "A history of solicitors in New South Wales / by J.M. Bennett ; with contributions by E.J. Minchin and Anthony Fisher",
            within => 1);

    assert (searching_for => "lancet",
            yields => "The Lancet",
            within => 1);

    assert (searching_for => "the canberra times",
            yields => "The Canberra times",
            within => 5);

    assert (searching_for => "frank hurley cow",
            yields => "[Cow] [picture] / [Frank Hurley]",
            within => 1);

    assert (searching_for => 'Australasian Insurance and Banking Record',
            yields => 'Australasian insurance and banking record',
            within => 1);

    assert (searching_for => 'Scientific American',
            yields => 'Scientific American',
            within => 2);

    assert (searching_for => 'Obituary Notices of fellows of the royal society',
            yields => 'Obituary notices of fellows of the Royal society. Pt.1',
            within => 5);

    assert (searching_for => 'australian journalist',
            yields => "The Australian journalist : official organ of the Australian Journalists' Association",
            within => 5);

    assert (searching_for => 'scottish australasian',
            yields => "The Scottish Australasian",
            within => 1);

    assert (searching_for => 'scottish australasian',
            yields => "The Scottish Australian",
            within => 3);

    assert (searching_for => 'Socialist journal of the northern people',
            yields => "The Socialist journal of the northern people [microform]. New series",
            within => 1);

    assert (searching_for => 'new south wales Cycling Gazette',
            yields => "N.S.W. cycling gazette : official organ of the N.S.W. Cyclists' Touring Union",
            within => 1);

    assert (searching_for => 'records of the australian museum',
            yields => 'Records of the Australian Museum, volume 30, no.16-19',
            within => 7);

    assert (searching_for => 'newspaper news',
            yields => 'Newspaper news',
            within => 3);

    assert (searching_for => 'millions magazine',
            yields => 'Millions magazine : the official organ of the Millions Club of N.S.W',
            within => 1);

    assert (searching_for => 'new south wales presbyterian',
            yields => 'The New South Wales Presbyterian',
            within => 1);

    assert (searching_for => 'victorian historical magazine',
            yields => 'The Victorian historical magazine [microform]',
            within => 2);

    assert (searching_for => 'Review of Reviews for Australasia',
            yields => 'The Review of reviews for Australasia',
            within => 2);

    assert (searching_for => 'The Public service journal',
            yields => 'The Public service journal',
            within => 2);

    assert (searching_for => 'Militia monthly',
            yields => 'The Militia monthly : a journal devoted to the interests of the Militia forces',
            within => 1);

    assert (searching_for => 'Militia monthly',
            yields => 'The Bullet : journal of the Victorian Militia Rifle Club Union',
            within => 2);

    assert (searching_for => 'british australasian',
            yields => 'The British Australasian [microform]',
            within => 6);

    assert (searching_for => 'mercury (hobart)',
            yields => 'The Hobart Town daily mercury',
            within => 8);

    assert (searching_for => 'art and australia',
            yields => 'Art and Australia',
            within => 1,
           'Term position boosting not implemented');

    assert (searching_for => 'Education',
            yields => 'Education : journal of the N.S.W. Public School Teachers Federation',
            within => 20,
            'Term position boosting not implemented');

    assert (searching_for => 'Proceedings of the Linnean Society of NSW',
            yields => "Proceedings of the Linnean Society of New South Wales",
            within => 1,
           'Synonyms for abbreviations not implemented');

    assert (searching_for => 'Newsletter new south wales association of university women graduates',
            yields => "Newsletter / Australian Federation of University Women - N.S.W",
            within => 3,
            'Synonyms for abbreviations not implemented');

    assert (searching_for => 'victoria bar news',
            yields => 'Victorian bar news',
            within => 1,
            'Waiting for more aggressive stemming');

    assert (searching_for => 'brian fitzpatrick',
            yields => 'Brian Fitzpatrick, a radical life / Don Watson',
            within => 1);

    assert (searching_for => 'economic review',
            yields => 'Economic review',
            within => 1);

    assert (searching_for => 'footprints',
            yields => 'Footprints : the journal of the Reflexology Association of Australia (NSW Branch)',
            within => 10);
}


main ();

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech
Reply | Threaded
Open this post in threaded view
|

Re: testing code for field population and query weighting

Corinna Baksik
fyi - some searches we've found very useful when manual comparing relevancy
performance across systems are:

war and peace  (obviously you'd want Tolstoy to be presented very high in
the list, and make sure he's in the author facet)
science (the weekly journal, pub in Cambridge, 1883-)
evolution   (to make sure that Darwin shows up in the author facet)
civil disobedience (this one is really interesting b/c if you test it in
NLA vs. Villanova you see the effects of doing the AND vs. OR default. At
Villanova, Thoreau does not appear in the first five authors because any
result with just "civil" was also faceted, bumping Thoreau down on the
list. At NLA, Thoreau is the first author in the facet list).

- corinna


At 09:21 AM 7/9/2008 +1000, Mark Triggs wrote:

>Hi Naomi,
>
>I'm happy to share ours if you'll excuse the Perl.  There's really not
>much to it: each test just performs a search, scrapes the HTML it gets
>back and checks that particular results are within certain ranges.  I've
>attached it to this message.
>
>Cheers,
>
>Mark
>
>
>
>Naomi Dushay <[hidden email]> writes:
>
> > Great feedback so far on my questions below.
> >
> > Test code: Can/Would anyone share theirs?  It would be great not to
> > have to start from scratch.
>
>--
>Mark Triggs
>Systems Administrator
>Business Systems Support, The National Library of Australia
><[hidden email]>
>
>#!/usr/bin/perl -w
>#
># Author: Mark Triggs <[hidden email]>
>#
>
>
>use strict;
>use LWP::UserAgent;
>use Test::More 'no_plan';
>
>my $ua = new LWP::UserAgent (keep_alive => 1);
>
>my $url = ($ARGV[0] or "http://catalogue.nla.gov.au");
>
>
>sub do_search
>{
>     my ($query) = @_;
>
>     my $response = $ua->get ("$url/Search/Home?" .
>                              "lookfor=$query&type=all&submit=Find");
>
>     my @titles;
>     foreach my $line (split ("\n", $response->content)) {
>         if ($line =~ 'a href.*class="title">(.*)</a>') {
>             my $title = $1;
>             $title =~ s/<span class="highlight">//g;
>             $title =~ s/<\/span>//g;
>             $title =~ s/\s+/ /g;
>             push (@titles, $title);
>         }
>     }
>
>     return \@titles;
>}
>
>
>sub position
>{
>     my ($needle, $haystack) = @_;
>
>     my $i = 0;
>
>     foreach my $elt (@$haystack) {
>         if ($elt eq $needle) {
>             return $i;
>         }
>
>         $i++;
>     }
>
>     return undef;
>}
>
>
>sub assert
>{
>     my ($search, $doc, $threshold, $msg) = @_[1,3,5,6];
>
>     my $hits = do_search ($search);
>
>     my $position = position ($doc, $hits);
>
>     ok (defined ($position) && $position < $threshold, $msg) or
>       print "Fail: $search\n";
>}
>
>
>sub main
>{
>     assert (searching_for => "where the wild things are",
>             yields => "Where the wild things are / story and pictures by
> Maurice Sendak",
>             within => 2);
>
>     assert (searching_for => "the art of computer programming",
>             yields => "The art of computer programming / Donald E. Knuth",
>             within => 1);
>
>     assert (searching_for => "History Solicitors New South Wales",
>             yields => "A history of solicitors in New South Wales / by
> J.M. Bennett ; with contributions by E.J. Minchin and Anthony Fisher",
>             within => 1);
>
>     assert (searching_for => "lancet",
>             yields => "The Lancet",
>             within => 1);
>
>     assert (searching_for => "the canberra times",
>             yields => "The Canberra times",
>             within => 5);
>
>     assert (searching_for => "frank hurley cow",
>             yields => "[Cow] [picture] / [Frank Hurley]",
>             within => 1);
>
>     assert (searching_for => 'Australasian Insurance and Banking Record',
>             yields => 'Australasian insurance and banking record',
>             within => 1);
>
>     assert (searching_for => 'Scientific American',
>             yields => 'Scientific American',
>             within => 2);
>
>     assert (searching_for => 'Obituary Notices of fellows of the royal
> society',
>             yields => 'Obituary notices of fellows of the Royal society.
> Pt.1',
>             within => 5);
>
>     assert (searching_for => 'australian journalist',
>             yields => "The Australian journalist : official organ of the
> Australian Journalists' Association",
>             within => 5);
>
>     assert (searching_for => 'scottish australasian',
>             yields => "The Scottish Australasian",
>             within => 1);
>
>     assert (searching_for => 'scottish australasian',
>             yields => "The Scottish Australian",
>             within => 3);
>
>     assert (searching_for => 'Socialist journal of the northern people',
>             yields => "The Socialist journal of the northern people
> [microform]. New series",
>             within => 1);
>
>     assert (searching_for => 'new south wales Cycling Gazette',
>             yields => "N.S.W. cycling gazette : official organ of the
> N.S.W. Cyclists' Touring Union",
>             within => 1);
>
>     assert (searching_for => 'records of the australian museum',
>             yields => 'Records of the Australian Museum, volume 30,
> no.16-19',
>             within => 7);
>
>     assert (searching_for => 'newspaper news',
>             yields => 'Newspaper news',
>             within => 3);
>
>     assert (searching_for => 'millions magazine',
>             yields => 'Millions magazine : the official organ of the
> Millions Club of N.S.W',
>             within => 1);
>
>     assert (searching_for => 'new south wales presbyterian',
>             yields => 'The New South Wales Presbyterian',
>             within => 1);
>
>     assert (searching_for => 'victorian historical magazine',
>             yields => 'The Victorian historical magazine [microform]',
>             within => 2);
>
>     assert (searching_for => 'Review of Reviews for Australasia',
>             yields => 'The Review of reviews for Australasia',
>             within => 2);
>
>     assert (searching_for => 'The Public service journal',
>             yields => 'The Public service journal',
>             within => 2);
>
>     assert (searching_for => 'Militia monthly',
>             yields => 'The Militia monthly : a journal devoted to the
> interests of the Militia forces',
>             within => 1);
>
>     assert (searching_for => 'Militia monthly',
>             yields => 'The Bullet : journal of the Victorian Militia
> Rifle Club Union',
>             within => 2);
>
>     assert (searching_for => 'british australasian',
>             yields => 'The British Australasian [microform]',
>             within => 6);
>
>     assert (searching_for => 'mercury (hobart)',
>             yields => 'The Hobart Town daily mercury',
>             within => 8);
>
>     assert (searching_for => 'art and australia',
>             yields => 'Art and Australia',
>             within => 1,
>            'Term position boosting not implemented');
>
>     assert (searching_for => 'Education',
>             yields => 'Education : journal of the N.S.W. Public School
> Teachers Federation',
>             within => 20,
>             'Term position boosting not implemented');
>
>     assert (searching_for => 'Proceedings of the Linnean Society of NSW',
>             yields => "Proceedings of the Linnean Society of New South
> Wales",
>             within => 1,
>            'Synonyms for abbreviations not implemented');
>
>     assert (searching_for => 'Newsletter new south wales association of
> university women graduates',
>             yields => "Newsletter / Australian Federation of University
> Women - N.S.W",
>             within => 3,
>             'Synonyms for abbreviations not implemented');
>
>     assert (searching_for => 'victoria bar news',
>             yields => 'Victorian bar news',
>             within => 1,
>             'Waiting for more aggressive stemming');
>
>     assert (searching_for => 'brian fitzpatrick',
>             yields => 'Brian Fitzpatrick, a radical life / Don Watson',
>             within => 1);
>
>     assert (searching_for => 'economic review',
>             yields => 'Economic review',
>             within => 1);
>
>     assert (searching_for => 'footprints',
>             yields => 'Footprints : the journal of the Reflexology
> Association of Australia (NSW Branch)',
>             within => 10);
>}
>
>
>main ();
>-------------------------------------------------------------------------
>Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
>Studies have shown that voting for your favorite open source project,
>along with a healthy diet, reduces your potential for chronic lameness
>and boredom. Vote Now at http://www.sourceforge.net/community/cca08
>_______________________________________________
>Vufind-tech mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/vufind-tech



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Vufind-tech mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/vufind-tech