NAME

AltaVista::SearchSDK - Perl extension for AltaVista Search Software Development Kit

SYNOPSIS

use AltaVista::SearchSDK;

avs_adddate(idx, yr, mo, da, startloc)

avs_addfield(idx, pFname, startloc, endloc)

avs_addliteral(idx, pWord, loc)

avs_addvalue(idx, valtype, value, loc)

avs_addword(idx, pWords, loc, pNumWords)

avs_buildmode(idx)

avs_buildmode_ex(idx, ntiers)

avs_close(idx)

avs_compact(idx, bMore_p)

avs_compactionneeded(idx)

avs_compact_minor(idx, bMore_p)

avs_count(idx, pWordPrefix, pCountsHdl)

avs_count_close(CountsHdl)

avs_count_getcount(CountsHdl)

avs_countnext(CountsHdl)

avs_count_getword(CountsHdl)

avs_default_options(pOptions)

avs_define_valtype(name, minval, maxval, valtype_p)

avs_deletedocid(idx, pDocId, pCount)

avs_enddoc(idx)

avs_errmsg(code)

avs_getindexmode(idx)

avs_getindexversion(idx)

avs_getindexversion_counts_v(countsHdl)

avs_getindexversion_search_v(searchHdl)

avs_getsearchresults(searchHdl, resultNum)

avs_getsearchterms(psearchHdl, termNum, term, count)

avs_lookup_valtype(name)

avs_makestable(idx)

avs_open(path, mode, pIdx) # pre-3.0 syntax avs_open(path, mode, pIdx, license_key) # post-3.0 syntax You'll need to pass license_key if you are using AVS SDK 3.0 or later releases. In case you do not set license_key, the module will use the default LICENSEKEY_LIMITED which is valid for 500 documents. This key however seems to limit some functionality so it is not recommended for use with this module (by the author, not by AltaVista!)

avs_querymode(idx)

avs_release_valtypes()

avs_search(idx, pQuery, pBoolQuery, pOptions, pDocsFound, pDocsReturned, pTermCount, pSearchHdl)

avs_search_close(pSearchHdl)

avs_search_ex(idx, pQuery, pBoolQuery, pOptions, searchsince, pDocsFound, pDocsReturned, pTermCount, pSearchHdl)

avs_search_genrank(idx, pBoolQuery, pRankTerms, pRankSetup, pOptions, searchsince, pDocsFound, pDocsReturned, pSearchHdl)

avs_search_getdata(searchHdl)

avs_search_getdatalen(searchHdl)

avs_search_getdate(psearchHdl, year, month, day)

avs_search_getdocid(searchHdl)

avs_search_getdocidlen(searchHdl)

avs_search_getrelevance(psearchHdl)

avs_setdocdata(idx, pDocData, len)

avs_setdocdate(idx, year, month, day)

avs_setdocdatetime(idx, year, month, day, hour, minute, second)

avs_setparseflags(idx, parseflags)

avs_setrankval(idx, valtype, value)

avs_startdoc(idx, pDocId, flags, pStartLoc)

avs_timer(current)

avs_version() # pre-3.0 syntax avs_version(license_key) # post-3.0 syntax

avs_create_options(limit, timeout, flags)

DESCRIPTION

This set of extensions provides wrappers for all the C functionality of the AltaVista Search software development kit (SDK) except for a few functions that did not make sense to export to perl.

Document converters functions available in SDK 3.0 and later are not available in this release (yet). All the functions of the 97 Rev B kit are available as advertised, except for the following:

avs_add_ms_callback UNIMPLEMENTED

It makes no sense to implement this function, since it would require being able to pass a C function handle through perl.

avs_addrankterms UNIMPLEMENTED

Internal function

avs_newdoc UNIMPLEMENTED

No easy way to provide filter function

avs_search_getdata_copy UNIMPLEMENTED

No need for this function

avs_search_getdocid_copy UNIMPLEMENTED

No need for this function

avs_search_getrelevance RETURN ARGUMENT

Relevance is returned as a string representation of the float

PREREQUITES

Perl 5.004, the AltaVista SearchSDK 97 Rev B or later (last tested 3.0.1).

LICENSE KEY REQUIREMENTS

There was a change in license key usage as of versione 3.0 of the AVS SDK. In version 3.0, you need to pass the license key explicitly to avs_version (and, more important, to avs_open) in order to have the toolkit recognize your right to use the software. Previously, the key was embedded in your library. This module tries to detect the correct situation. In order to have a working program, please make sure you pass your license key to avs_version and avs_open (each and every call). If you do not pass a license key, the module will supply the default license key which allows 500 documents and seems to limit the workings of a number of functions. Please see 'INSTALLATION' for additional instructions.

INSTALLATION

To install this module, move into the directory where this file is located. Then type the following:

perl Makefile.PL B<-a> I<path-to-AVS-SDK> [B<-v> 3.0]
make
For version 3.0 and beyond, you'll need to set the environment variable
AVS_LICENSE_KEY with a valid license in order to have all the tests
execute correctly. Otherwise, some tests will fail but this
will not necessarily mean problems with the software.
make test
Verify tests have succeeded, and then...
make install

Makefile.PL will try to detect automatically the needed headers and libraries basing on the path you pass to -a. In order to switch on support for 3.0 use -v version (currently supported 3.0). This will modify the definitions of avs_version and avs_open in order to accept an optional parameter, the license key, needed to have the software (and this module) work correctly.

PLATFORM-SPECIFIC NOTES

Solaris This module currently supports only the 32-bits version of the AVS SDK librery on this platform.

AUTHORS

Version 1.00 and later: Davide Migliavacca <davide.migliavacca@inferentia.it>. Version 0.99b and before: James M. Turner <james@csmonitor.com>

Copyright (C) 2000 Davide Migliavacca and Inferentia, Milano ITALY.

Version 0.99b: Copyright (C) 1998 The Christian Science Publishing Society. All rights reserved

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

perl(1), AltaVista Search SDK documentation.

BUGS

This version has been tested in a live environment for certain conditions, but has by no means been extensively tested. It has been tested on Solaris and Digital Unix (now Compaq Tru64). Please let me know if you get it work under other platforms or operating systems.