koha-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Koha-devel] FW: RDBMS like behaviour or merged result sets from ZEB


From: Chris Cormack
Subject: Re: [Koha-devel] FW: RDBMS like behaviour or merged result sets from ZEBRA-ZOOM
Date: Tue, 25 Jul 2006 22:34:42 +1200
User-agent: Mutt/1.5.9i

Hmmm

It sounds like storing the holdings info in zebra is going to be a no go.

I still think that storing information that changes regularly, like issue
status, and other holdings info should be stored in something like a rdbms

Would storing the holdings info in mysql (or other rdbms) be a bad thing?

Chris

On Tue, Jul 25, 2006 at 12:58:53PM +0300, T?mer Garip said:
> 
> 
> -----Original Message-----
> From: Mike Taylor [mailto:address@hidden 
> Sent: Tuesday, July 25, 2006 12:43 PM
> To: T?mer Garip
> Cc: address@hidden; 'Joshua Ferraro'
> Subject: RDBMS like behaviour or merged result sets from ZEBRA-ZOOM
> 
> 
> T?mer Garip writes:
>  > We have come a long way in integrating ZEBRA and ZOOM into KOHA and
> > first examples are already running in some libraries.
> 
> That's great news.
> 
>  > However we now have a problem that we could not solve and wonder  >
> whether its us or the capabilities of ZEBRA or ZOOM (probably all)  >
> thats preventing further development.  > 
>  > We have two different types of MARC records. Namely bibliographic  >
> and holdings. These records are related to each other with uniquie  > ID
> numbers. A bibliographic record can have multiple holdings  > record
> related to it.  >  > We are having problem searching these records in
> RDBMS manner. i.e  > Searching for say title which exists in
> bibliographic record and  > limiting that search to a specific branch
> which exists in holdings  > record.
> 
> Let me make sure I understand what you're trying to do here.  It's a
> two-stage search, in which you first want to search the list of works
> for books with a certain title, then find the holdings records for
> nearby libraries that have the books of that title?  In a relational
> database, it would be something like this:
> 
>       select all from works,holdings
>               where works.title = 'Harry Potter'
>               and holdings.work_id = works.id
>               and holdings.library_id in (45,76,102);
> 
> Correct?
> 
> If so, you simply cannot do this with Zebra -- it's a relational query
> and Zebra is not a relational database.  You can't even express such a
> query in the Z39.50 Type-1 or SRU CQL query languages.
> 
>  > We tried putting all the records in the same database could not do  >
> it.  We than tried putting them in different databases (even  >
> different servers) but could not find a way of telling zebra to  > merge
> the results together.  > 
>  > For a small resultset we can do a recursive search of ID's on the  >
> other database and get a merged resultset but library operations  > work
> on large numbers and that is impossible when the small set is  > around
> 1800 records.
> 
> I think you mean code like this?  (WARNING: UNTESTED)
> 
>       $rs = $works_conn->search('title="harry potter");
>       foreach my $i (1 .. $rs->size()) {
>           $rec = $rs->record($i);
>           $id = extract_identifier_from_record($rec);
>           $rs2 = $holdings_conn->search("id=$id and library_id=45
>               or library_id=76 or library_id=102");
>           push @holdings_records, records_extracted_from($rs2);
>       }
> 
> That approach is the obvious one to take; but, no, it doesn't scale well
> when the initial result set is large.
> 
>  > Is there any way we can actually do this with the capabilities of  >
> ZEBRA&ZOOM? 
>  > Something like @attr 1=52 (@resultset1 @attr 1=52)?
>  > Or may be a new z:index called linkid which joins two databases or  >
> different records within a database.
> 
> What you're talking about is certainly in the realm of the possible, but
> it would be a _significant_ research, design and implementation task --
> one, I think, that would beyond the Koha consortium's ability to fund.
> 
> I am sorry to disappoint, but I think you're going to have to work round
> this one.
> 
>  > Any idea is appreciated as the whole database design is currently  >
> stuck with this problem.
> 
> Have you considered adding redundant data, such as author and title, to
> the holdings records?  Then you could search them directly.  Not pretty,
> but it may be pragmatic.
> 
>  _/|_
> ___________________________________________________________________
> /o ) \/  Mike Taylor  <address@hidden>
> http://www.miketaylor.org.uk )_v__/\  The Unix command to kill processes
> is not "kill -9".  The Unix
>        command to make a tape archive is not "tar cv".  Options are
>        optional.
> 
> 
> 
> _______________________________________________
> Koha-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/koha-devel

-- 
Chris Cormack                                                     Programmer
027 4500 789                                       Katipo Communications Ltd
address@hidden                                          www.katipo.co.nz




reply via email to

[Prev in Thread] Current Thread [Next in Thread]