Forum OpenACS Q&A: Status of search for Oracle

Collapse
Posted by Denis Roy on
Can somebody please tell me a bit about the current status of search for Oracle? I have found some postings but most of them are quite old.

The CVS log says somewhere that the package is ported to Oracle and the only thing left is FTSEngineDriver. In another post, Tilmann mentioned that the Intermedia-driver service contract is missing. Is it the same?

We need Oracle search for a client quite soon and I am trying to find out what way to go. I understand that site-wide-search is available for Oracle but has been deprecated in favor of the new search package.

So before we make a decision on what to use it would be cool to hear how long it would probably take to finish the Oracle port of search.

Collapse
Posted by Neophytos Demetriou on
<blockquote>>>>
</blockquote>
So before we make a decision on what to use it would be cool to hear how long it would probably take to finish the Oracle port of search.
<<<<

Hi Denis, AFAICS, there is no effort underway to implement FtsEngineDriver for ORACLE Intermedia (a.k.a TEXT, CONTEXT, etc). In the past, some people posted about their intentions to implement the search engine contract for Intermedia, however, nothing is available thus far.

So there is no issue of how long it will take to finish the Oracle port of search (search is already ported to oracle) but whether someone is willing to write the implementation of FtsEngineDriver for Oracle Intermedia. I hope that helps.

Collapse
Posted by Denis Roy on
Thanks, Neophytos.

What does implementation of such an FtsEngineDriver involve? Is it something that an OACS developer can do or do you have to have knowledge about AOLserver etc.?

I would like to understand how search with OpenFTS works. Can you point me to some pages or docs where I can have a read?

Collapse
Posted by Don Baccus on
I think the involvement is 50% knowing Oracle/InterMedia (whose name has or is changing again BTW) and 50% understanding the service contract since you have to map its requests to Oracle SQL.

I don't think there's any AOLserver knowledge involved.

It would be great to have this work done.  It's never floated to the top of anyone's priority list, that's the problem.

Collapse
Posted by Denis Roy on
Why hasn't anybody wanted this so far? Are there no OACS sites which run on Oracle and need search? Is it because everybody is quite happy with the sws package?

Sorry if I'm asking so many questions but I really wonder what the benefits are of developing an FtsEngineDriver for Oracle and whether the investment can be justified (especially when talking to a client).

I'd be more than happy to talk to our client and ask him to invest into search for Oracle but right now I simply don't have enough good arguments to feel comfortable about doing so. Perhaps anybody can help me out on this one.

Any good reason is appreciated including time, ease of maintenance, difficulty of setup (I once installed sws in the ACS 3.2 days and it was a pita), future upgradibility etc.

Collapse
Posted by Don Baccus on
Well, you've pretty much hit the nail on the head - sws works so no one has made moving Oracle searches to the back-end independent search package a priority.  It's too bad because it would be nice to have both DBs using the same front end.

The PITA aspects of getting SWS up and running are almost entirely Oracle's fault, though, IMO.  Switching OpenACS front ends to the db-independent version isn't going to do anything to make Oracle better behaved.

Collapse
Posted by Neophytos Demetriou on
Denis, here's an excellent tutorial on ACS Service Contracts (includes info about search) by Benjamin: http://vrusp.com/intro-to-service-contracts.html

For more info about OpenFTS check out http://openfts.sourceforge.net/

Note that OpenFTS is based on tsearch (a postgresql module) which has recently changed, heavily. Feel free to check out the new docs from the CVS tree (not yet released -- due next couple of weeks).

Collapse
Posted by Roger Williams on
I am (customarily) late to the game again, but maybe someone can make this clearer for me:

- The only (/major) advantage of getting this ftsEngine stuff working with Intermedia is for the front-end?
- The writeup about SCs looks pretty good. Is it current?
- Assuming the answer to the first question is yes, can anyone give me the top 2-3 things that are better about the front end with OpenFTS compared to SWS?

I have an ORA817/Linux running with Intermedia and sws. I am interested to know what the major benefit is to running OpenFTS (besides issues like code organization).

Thanks in advance.

Regards..

Collapse
Posted by Dave Bauer on
Roger,

OpenFTS is a text indexing engine that is built on Postgresql.

It is loosely comparable to intermedia in oracle. The trick is that the site-wide-search package is built to support searching using intermedia and oracle which the search package is built to work currently with OpenFTS through the FtsEngineDriver service contracts.

Technically an FtsEngingeDriver for intermedia could be written. Then search enabling a package would not require any knowledge of the specific text indexing software used.

So far, noone has undertaken the huge task of getting intermedia to work with the search package.

Collapse
Posted by Don Baccus on
I don't think it would be that huge a task, you just need to provide the service contract hooks for it.

What would be the advantage? If both RDBMSs used the service-contract based package for searching, maybe people would get motivated to improve it.  At least we'd be drawing potential hackers from implementors using both RDBMSs ...

As far as the service contract documentation being up-to-date, does it include the tcl-based specification API that Lars wrote awhile back?

Collapse
Posted by Christian Brechbuehler on
Did anything change in the last three years?

I run Oracle 10.2.0.1.0 ("10g Release 2") and OpenACS 5.2.3. (To deal with inconsistent tagging on non-core packages, I use site-wide-search as on oacs-5-2 at 2006/05/25 21:00.)

What's the recommended approach? Still package "site-wide-search" for use with Oracle?

Collapse
Posted by Dave Bauer on
Use the intermedia-driver and search packages from HEAD (5.3).

This means you can use the same search package for PostgreSQL and Oracle with the correct search driver.

Collapse
Posted by Christian Brechbuehler on
Thanks Dave. The nice architecture is compelling. The first file I looked at, packages/intermedia-driver/sql/oracle/load-site-wide-search, says:
Prerequisites: Oracle 8.1.7.4 (... it won't work with Oracle 10g)
I'll try it out anyway.