Text::Query::ParseSimple

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
Text::Query::ParseSimUser3Contributed Perl DocumenText::Query::ParseSimple(3)



NAME
       Text::Query::ParseSimple - Parse AltaVista simple query syntax

SYNOPSIS
	 use Text::Query;
	 my $q=new Text::Query(’hello and world’,
			       -parse => ’Text::Query::ParseSimple’,
			       -solve => ’Text::Query::SolveSimpleString’,
			       -build => ’Text::Query::BuildSimpleString’);

DESCRIPTION
       This module provides an object that parses a string containing a
       Boolean query expression similar to an AltaVista "simple query". Ele-
       ments of the query expression may be assigned weights.

       It’s base class is Text::Query::Parse;

       Query expressions are compiled into an internal form when a new object
       is created or the "prepare" method is called; they are not recompiled
       on each match.

       Query expressions consist of words (sequences of non-whitespace) or
       phrases (quoted strings) separated by whitespace.  Words or phrases
       prefixed with a "+" must be present for the expression to match; words
       or phrases prefixed with a "-" must be absent for the expression to
       match.

       Words or phrases may optionally be followed by a number in parentheses
       (no whitespace is allowed between the word or phrase and the parenthe-
       sized number).  This number specifies the weight given to the word or
       phrase.	If a weight is not given, a weight of 1 is assumed.

EXAMPLES
	 use Text::Query;
	 my $q=new Text::Query(’+hello world’,
			       -solve => ’Text::Query::SolveSimpleString’,
			       -build => ’Text::Query::BuildSimpleString’);
	 die "bad query expression" if not defined $q;
	 $count=$q->match;
	 ...
	 $q->prepare(’goodbye adios -"ta ta"’, -litspace=>1);
	 #requires single space between the two ta’s
	 if ($q->match($line, -case=>1)) {
	 #doesn’t match "Goodbye"
	 ...
	 $q->prepare(’\\bintegrate\\b’, -regexp=>1);
	 #won’t match "disintegrated"
	 ...
	 $q->prepare(’information(2) retrieval’);
	 #information has twice the weight of retrieval

SEE ALSO
       Text::Query(3) Text::Query::Parse(3)

AUTHORS
       Eric Bohlman (ebohlman@netcom.com)

       Loic Dachary (loic@senga.org)



perl v5.8.8			  1999-06-19	  Text::Query::ParseSimple(3)