From: KevinBenson <km...@ms...> - 2007-02-07 14:08:10
|
Come to find out I had this e-mail in my drafts folder and forgot about it. I have now changed the query around to perform much faster with eXist, though there is a slight change some older clients might still use the below kind of query. I have noticed the new eXist actually hangs if you use a wildcard in the beginning on a big collection. (See query below and last response). Wondered if anybody bothered looking at it, I have a collection with about 10000 xml documents (Resources). So there seems to be something that goes haywire when the '*' is at the beginning hence '*galaxev' or '*galaxev*'. Don't worry to much if it doesn't get fixed as I said I changed all my queries to perform faster now though still a little worried on older clients causing the database to hang completely. cheers, Kevin KevinBenson wrote: > Yep i added indexes. I suspect that I will just need to change the > query around and deal with it that way, since it takes awhile. > I did change around the query a little: > 'galaxev' took 1.8s > 'galaxev*' took 2.6s > '*galaxev*' seems to never return (or get tired of waiting and I wait > for several minutes), plus it seems to lock up eXist in some way or > keeps the query going. I restart my client and go back to 'galaxev' and > it does not work anymore till I restart the server. This is on the > 1.1.1-newcore. > > cheers, > Kevin > > Wolfgang Meier wrote: > >>>> where ($r/vr:title &= '*galaxev*' or $r/vr:identifier &= '*galaxev*' or >>>> $r/vr:shortName &= '*galaxev*' or $r/vr:content/vr:subject &= >>>> '*galaxev*' or $r/vr:content/vr:description &= '*galaxev*') >>>> return $r >>>> >>>> >>> Don't know wheter these full text queries with truncatures are as good >>> as (or as bad as) their contains()/matches() counterparts in standard >>> XQuery. I doubt so... >>> >>> >> The difference between full text queries and contains()/matches() on a >> range-indexed element should be really small. In both cases, a >> truncation at the left of the search string leads to a full index >> scan, so '*galaxev*' is always slower than 'galaxev*', but that should >> be understandable. >> >> >> >>> So you may want to create indexes (see the docs). It is probable that >>> your older version of eXist was faster because it used to use the >>> fulltext index for general comparisons, which proved to be a bad idea. >>> >>> >> I would suspect this as well. >> >> Wolfgang >> >> ------------------------------------------------------------------------- >> Using Tomcat but need to do more? Need to support web services, security? >> Get stuff done quickly with pre-integrated technology to make your job easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Exist-open mailing list >> Exi...@li... >> https://lists.sourceforge.net/lists/listinfo/exist-open >> >> >> > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > > |