1 |
=head1 pgestraier - search Hyper Estraier indexes from PostgreSQL |
2 |
|
3 |
This package is essentially PostgreSQL C function which calls Hyper Estraier |
4 |
API and returns results in user defined format. |
5 |
|
6 |
=head1 Why is it written? |
7 |
|
8 |
Aside from providing single API to query your RDBMS and full text index |
9 |
(using any language that has PostgreSQL client libraries), real power is |
10 |
hidden in ability to join results from full text index and structured data |
11 |
in RDBMS. |
12 |
|
13 |
=head1 How to install |
14 |
|
15 |
Installation should be simple. However, you will have to have following |
16 |
software already installed before you try this function: |
17 |
|
18 |
=over |
19 |
|
20 |
=item * |
21 |
|
22 |
PostgreSQL (tested with version 7.4.8) with development libraries |
23 |
|
24 |
=item * |
25 |
|
26 |
Hyper Estraier (tested with versions 0.3.9 and 0.3.10) |
27 |
|
28 |
=back |
29 |
|
30 |
To run tests you will also need: |
31 |
|
32 |
=over |
33 |
|
34 |
=item * |
35 |
|
36 |
working perl installation |
37 |
|
38 |
=item * |
39 |
|
40 |
perl modules C<DBI>, C<DBD::Pg>, C<Test::More> and optionally C<HyperEstraier> |
41 |
|
42 |
=item * |
43 |
|
44 |
C<trivia.list.gz> from Internet Movie Database in data/ directory |
45 |
|
46 |
=item * |
47 |
|
48 |
database "test" with permissions for current user |
49 |
|
50 |
=back |
51 |
|
52 |
If you have all that, you should be able to type |
53 |
|
54 |
make |
55 |
|
56 |
and see sample results. You will be asked your password once (via sudo) to |
57 |
install pgest.so shared library in system-wide location so that PostgreSQL |
58 |
could access it. |
59 |
|
60 |
Next, you will have to create test index. You have two options: |
61 |
|
62 |
=head2 Create index using estcmd |
63 |
|
64 |
This will create temporary files on disk and index them using estcmd gather |
65 |
|
66 |
cd data |
67 |
make index |
68 |
cd .. |
69 |
|
70 |
=head2 Create index using Hyper Estraier perl bindings |
71 |
|
72 |
For this, you will have to install perl bindings from |
73 |
|
74 |
L<http://tokuhirom.dnsalias.org/~tokuhirom/archive/hyper_estraier_wrappers-0.0.6.tar.gz> |
75 |
|
76 |
If you installed bindings as documented in README file, you can issue |
77 |
following commands to create index about three times faster than using |
78 |
estcmd: |
79 |
|
80 |
cd data |
81 |
make perl |
82 |
cd .. |
83 |
|
84 |
To run tests (which require that you have estcmd in your $PATH) issue |
85 |
|
86 |
make test |
87 |
|
88 |
See also included file test.sql for more examples of usage. |
89 |
|
90 |
=head1 Who wrote this? |
91 |
|
92 |
Hyper Estraier is written by Mikio Hirabayashi. |
93 |
|
94 |
PostgreSQL is written by hackers calling themselves PostgreSQL Global |
95 |
Development Group. |
96 |
|
97 |
This small C function is written by Dobrica Pavlinusic, dpavlin@rot13.org. |