% SiSU insert 2.0

@title: SiSU
 :subtitle: Search

@creator:
 :author: Ralph Amissah

@date:
 :published: 2007-09-16
 :created: 2002-08-28
 :issued: 2002-08-28
 :available: 2002-08-28
 :modified: 2011-02-07

@rights:
 :copyright: Copyright (C) Ralph Amissah 2007
 :license: GPL 3 (part of SiSU documentation)

:A~? @title @creator

:B~? SiSU Search

:C~? CGI Search Form

1~search_cgi Introduction

2~ Search - database frontend sample, utilising database and SiSU features, including object citation numbering (backend currently PostgreSQL) *~search

{~^ Sample search frontend }http://search.sisudoc.org
A small database and sample query front-end (search from) that makes use of the citation system, _{object citation numbering}_ to demonstrates functionality.~{ (which could be extended further with current back-end). As regards scaling of the database, it is as scalable as the database (here Postgresql) and hardware allow. }~

SiSU can provide information on which documents are matched and at what locations within each document the matches are found. These results are relevant across all outputs using object citation numbering, which includes html, XML, EPUB, LaTeX, PDF and indeed the SQL database. You can then refer to one of the other outputs or in the SQL database expand the text within the matched objects (paragraphs) in the documents matched.

Note you may set results either for documents matched and object number locations within each matched document meeting the search criteria; or display the names of the documents matched along with the objects (paragraphs) that meet the search criteria.~{ of this feature when demonstrated to an IBM software innovations evaluator in 2004 he said to paraphrase: this could be of interest to us. We have large document management systems, you can search hundreds of thousands of documents and we can tell you which documents meet your search criteria, but there is no way we can tell you without opening each document where within each your matches are found. }~

% Several options for output - select database to search, show results in index view (links to locations within text), show results with text, echo search in form, show what was searched, create and show a "canned url" for search, show available search fields. Also shows counters number of documents in which found and number of locations within documents where found. [could consider sorting by document with most occurrences of the search result].

!_ sisu -F --webserv-webrick<br>
builds a cgi web search frontend for the database created

The following is feedback on the setup on a machine provided by the help command:

_1 sisu --help sql

code{

Postgresql
  user:             ralph
  current db set:   SiSU_sisu
  port:             5432
  dbi connect:      DBI:Pg:database=SiSU_sisu;port=5432

sqlite
  current db set:   /home/ralph/sisu_www/sisu/sisu_sqlite.db
  dbi connect       DBI:SQLite:/home/ralph/sisu_www/sisu/sisu_sqlite.db

}code

Note on databases built

By default, [unless otherwise specified] databases are built on a directory basis, from collections of documents within that directory. The name of the directory you choose to work from is used as the database name, i.e. if you are working in a directory called /home/ralph/ebook the database SiSU_ebook is used. [otherwise a manual mapping for the collection is necessary]

2~ Search Form

!_ sisu -F<br>
generates a sample search form, which must be copied to the web-server cgi directory

!_ sisu -F --webserv-webrick<br>
generates a sample search form for use with the webrick server, which must be copied to the web-server cgi directory

!_ sisu -W<br>
starts the webrick server which should be available wherever sisu is properly installed

The generated search form must be copied manually to the webserver directory as instructed
