1 |
dpavlin |
23 |
1. 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 |
|
|
2. 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 |
|
|
3. 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 |
|
|
* PostgreSQL (tested with version 7.4.8) with development libraries |
19 |
|
|
* Hyper Estraier (tested with versions 0.3.9 and 0.3.10) |
20 |
|
|
|
21 |
|
|
To run tests you will also need: |
22 |
|
|
|
23 |
|
|
* working perl installation |
24 |
|
|
* perl modules DBI, DBD::Pg, Test::More |
25 |
|
|
* trivia.list.gz from Internet Movie Database in data/ directory |
26 |
|
|
* database "test" with permissions for current user |
27 |
|
|
|
28 |
|
|
If you have all that, you should be able to type |
29 |
|
|
|
30 |
|
|
make |
31 |
|
|
|
32 |
|
|
and see sample results. You will be asked your password once (via sudo) to |
33 |
|
|
install pgest.so shared library in system-wide location so that PostgreSQL |
34 |
|
|
could access it. |
35 |
|
|
|
36 |
dpavlin |
29 |
Next, you will have to create test index. You have two options: |
37 |
|
|
|
38 |
|
|
3.1. Create index using estcmd |
39 |
|
|
|
40 |
|
|
This will create temporary files on disk and index them using estcmd gather |
41 |
|
|
|
42 |
|
|
cd data |
43 |
|
|
make index |
44 |
|
|
cd .. |
45 |
|
|
|
46 |
|
|
3.2. Create index using Hyper Estraier perl bindings |
47 |
|
|
|
48 |
|
|
For this, you will have to install perl bindings from |
49 |
|
|
|
50 |
|
|
http://tokuhirom.dnsalias.org/~tokuhirom/archive/hyper_estraier_wrappers-0.0.6.tar.gz |
51 |
|
|
|
52 |
|
|
If you installed bindings as documented in README file, you can issue |
53 |
|
|
following commands to create index about three times faster than using |
54 |
|
|
estcmd: |
55 |
|
|
|
56 |
|
|
cd data |
57 |
|
|
make perl |
58 |
|
|
cd .. |
59 |
|
|
|
60 |
dpavlin |
23 |
To run tests (which require that you have estcmd in your $PATH) issue |
61 |
|
|
|
62 |
|
|
make test |
63 |
|
|
|
64 |
|
|
See also included file test.sql for more examples of usage. |
65 |
|
|
|
66 |
|
|
4. Who wrote this? |
67 |
|
|
|
68 |
|
|
Hyper Estraier is written by Mikio Hirabayashi. |
69 |
|
|
|
70 |
|
|
PostgreSQL is written by hackers calling themselves PostgreSQL Global |
71 |
|
|
Development Group. |
72 |
|
|
|
73 |
|
|
This small C function is written by Dobrica Pavlinusic, dpavlin@rot13.org. |