mschilli / swish-api-common-perl Goto Github PK
View Code? Open in Web Editor NEWSWISH::API::Common CPAN Module
Home Page: http://perlmeister.com
SWISH::API::Common CPAN Module
Home Page: http://perlmeister.com
###################################################################### SWISH::API::Common 0.05 ###################################################################### NAME SWISH::API::Common - SWISH Document Indexing Made Easy SYNOPSIS use SWISH::API::Common; my $swish = SWISH::API::Common->new(); # Index all files in a directory and its subdirectories $swish->index("/usr/local/share/doc"); # After indexing once (it's persistent), fire up as many # queries as you like: # Search documents containing both "swish" and "install" for my $hit ($swish->search("swish AND install")) { print $hit->path(), "\n"; } DESCRIPTION "SWISH::API::Common" offers an easy interface to the Swish index engine. While SWISH::API offers a complete API, "SWISH::API::Common" focusses on ease of use. THIS MODULE IS CURRENTLY UNDER DEVELOPMENT. THE API MIGHT CHANGE AT ANY TIME. Currently, "SWISH::API::Common" just allows for indexing documents in a single directory and any of its subdirectories. Also, don't run index() and search() in parallel yet. INSTALLATION "SWISH::API::Common" requires "SWISH::API" and the swish engine to be installed. Please download the latest release from http://swish-e.org/distribution/swish-e-2.4.3.tar.gz and untar it, type ./configure make make install and then install SWISH::API which is contained in the distribution: cd perl perl Makefile.PL make make install METHODS $sw = SWISH::API::Common->new() Constructor. Takes many options, but the defaults are usually fine. Available options and their defaults: # Where SWISH::API::Common stores index files etc. swish_adm_dir "$ENV{HOME}/.swish-common" # The path to swish-e, relative is OK swish_exe "swish-e" # Swish index file swish_idx_file "$self->{swish_adm_dir}/default.idx" # Swish configuration file swish_cnf_file "$self->{swish_adm_dir}/default.cnf" # SWISH Stemming swish_fuzzy_indexing_mode => "Stemming_en" # Maximum amount of data (in bytes) extracted # from a single file file_len_max 100_000 # Preserve every indexed file's atime atime_preserve $sw->index($dir, ...) Generate a new index of all text documents under directory $dir. One or more directories can be specified. $sw->search("foo AND bar"); Searches the index, using the given search expression. Returns a list hits, which can be asked for their path: # Search documents containing # both "foo" and "bar" for my $hit ($swish->search("foo AND bar")) { print $hit->path(), "\n"; } index_remove Permanently delete the current index. TODO List * More than one index directory * Remove documents from index * Iterator for search hits LEGALESE Copyright 2005 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR 2005, Mike Schilli <[email protected]>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.