/[pgestraier]/trunk/README.pod
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/README.pod

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 33 by dpavlin, Wed Jul 6 16:35:51 2005 UTC revision 42 by dpavlin, Sat Sep 10 21:48:46 2005 UTC
# Line 67  This will create temporary files on disk Line 67  This will create temporary files on disk
67    make index    make index
68    cd ..    cd ..
69    
70    B<Warning:> this method is incomplete and won't create node index needed
71    to run last examples in C<test.sql> correctly. Solution is simple: either
72    symlink your newly created index to Hyper Estraier C<_node> directory or
73    create node and fill re-create index using C<estcall>.
74    
75  =head2 Create index using Hyper Estraier perl bindings  =head2 Create index using Hyper Estraier perl bindings
76    
77  For this, you will have to install perl bindings from  For this, you will have to install perl bindings from
78    
79  L<http://tokuhirom.dnsalias.org/~tokuhirom/archive/hyper_estraier_wrappers-0.0.6.tar.gz>  L<http://hyperestraier.sourceforge.net/binding/>
80    
81  If you installed bindings as documented in README file, you can issue  If you installed bindings as documented in README file, you can use
82  following commands to create index about three times faster than using  perl binding to create index about three times faster. However, you will
83  estcmd:  fist need to create node I<trivia> using Hyper Estraier's administration
84    interface at L<http://localhost:1978/masterui>. You will also need user
85    C<admin> with password C<admin> because those values are hard-coded in
86    C<indexer.pl>. If you want to use different user on index name, feel
87    free to change script.
88    
89    cd data    cd data
90    make perl    make perl
# Line 87  To run tests (which require that you hav Line 96  To run tests (which require that you hav
96    
97  See also included file test.sql for more examples of usage.  See also included file test.sql for more examples of usage.
98    
99    =head1 Usage of pgest from SQL
100    
101    C<pgest> PostgreSQL function has two different prototypes (number of arguments) depending on usage.
102    
103            SELECT
104                    -- columns to return (defined later)
105                    id,title,size
106            FROM pgest(
107                    -- path to index OR URL to node, user-name and password
108                    -- you will need JUST ONE of following two lines, depending
109                    -- on your usage described below
110                    '/full/path/to/casket',
111                    'http://localhost:1978/node/trivia', 'admin', 'admin',
112                    -- query
113                    'blade runner',
114                    -- additional attributes, use NULL or '' to disable
115                    -- multiple attributes conditions can be separated by {{!}}
116                    '@title ISTRINC blade',
117                    -- order results by
118                    '@title STRA',
119                    -- limit, use NULL or 0 to disable
120                    null,
121                    -- offset, use NULL or 0 to disable
122                    null,
123                    -- attributes to return as columns
124                    ARRAY['@id','@title','@size']
125            ) AS (
126                    -- specify names and types of returned attributes
127                    id text, title text, size text
128            );
129    
130    =head2 Accessing database directly
131    
132    If you want to access database directly (without running C<estmaster> process), first argument is full path to database file.
133    
134    Have in mind that C<postgres> user under which PostgreSQL is running must
135    have read permission on Hyper Estraier database files.
136    
137    This will work a bit faster on really small indexes. However, when your
138    index grows bigger, you might consider using node API to remove overhead of
139    database opening on each query.
140    
141    =head2 Using index via C<estmaster> server process
142    
143    If first argument is URL to node (like C<http://localhost:1978/node/trivia>)
144    and there are two additional parameters (user-name and password) after it,
145    C<pgest> will use node API and access index through C<estmaster> process which should be running on (local or remote) machine.
146    
147    This will remove database opening overhead, at a cost of additional network
148    traffic. However, you can have Hyper Estraier C<estmaster> process running on
149    different machine or update index while doing searches, so benefits of this
150    approach are obvious.
151    
152    B<Note:> Currently, there is no support to search more than one index (depth
153    of search is always 0). This will be fixed.
154    
155  =head1 Who wrote this?  =head1 Who wrote this?
156    
157  Hyper Estraier is written by Mikio Hirabayashi.  Hyper Estraier is written by Mikio Hirabayashi.
158    
159    Perl bindings for Hyper Estraier are written by MATSUNO Tokuhiro.
160    
161  PostgreSQL is written by hackers calling themselves PostgreSQL Global  PostgreSQL is written by hackers calling themselves PostgreSQL Global
162  Development Group.  Development Group.
163    

Legend:
Removed from v.33  
changed lines
  Added in v.42

  ViewVC Help
Powered by ViewVC 1.1.26