Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Lucene::QueryParser
Turn a Lucene query into a Perl data structure

Lucene::QueryParser - Turn a Lucene query into a Perl data structure


NAME

Lucene::QueryParser - Turn a Lucene query into a Perl data structure


SYNOPSIS


  use Lucene::QueryParser;

  my $structure = parse_query("red and yellow and -(coat:pink and green)");

$structure will be:


 [ { query => 'TERM', type => 'NORMAL', term => 'red' },

   { query => 'TERM', type => 'NORMAL', term => 'yellow' },

   { subquery => [

        { query => 'TERM', type => 'NORMAL', term => 'pink', field => 'coat' },

        { query => 'TERM', type => 'NORMAL', term => 'green' }

     ], query => 'SUBQUERY', type => 'PROHIBITED' 

   }

 ]


DESCRIPTION

This module parses a Lucene query, as defined by http://lucene.sourceforge.net/cgi-bin/faq/faqmanager.cgi?file=chapter.search&toc=faq#q5

It deals with fields, types, phrases, subqueries, and so on; everything handled by the SimpleQuery class in Lucene. The data structure is similar to the one given above, and is pretty self-explanatory.

The other function, deparse_query turns such a data structure back into a Lucene query string. This is useful if you've just been mucking about with the data.

PLUCENE

Note for people using Plucene: the big arrayref and the hashes in the output of parse_query are actually objects. They're not Plucene::Query objects, because then everyone who wanted to do search queries would have to pull in Plucene, which is a bit unfair. However, they can be turned into Plucene::Querys by calling to_plucene on them. The argument to to_plucene should be the default field to search if none is supplied.

EXPORT

Exports the parse_query and deparse_query functions.


AUTHOR

Simon Cozens, <simon@kasei.com>


COPYRIGHT AND LICENSE

Copyright 2003 by Kasei

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

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy