The full text query is blisteringly fast for both, the text index query is fast only for REST queries and seems not to be used with queries in RESTXQ. I am rebuilding the whole database now to see how it goes, and will restart everything for a new assessment.
2015-05-18 15:00 GMT+02:00 Christian Grün <christian.gr...@gmail.com>: > > However, when using text index instead of full text the results are the > same > > for both, except that RESTXQ takes almost forever > > What about the original query: Has it been slow as well, or do you > think this is a new problem? > > > > 2015-05-18 14:28 GMT+02:00 Christian Grün <christian.gr...@gmail.com>: > >> > >> It could be that your URL is decoded in a wrong way.. What happens if > >> you run the following function with REST and RESTXQ and "føre" as > >> word? > >> > >> declare > >> %rest:path("/test/encoding/{$word}") > >> function page:test-encoding($word) { > >> string-to-codepoints($word) > >> }; > >> > >> Thanks, > >> Christian > >> > >> > >> string-to-codepoints() > >> > REST output (2 first lines): > >> > føre > >> > fø - re 219 > >> > > >> > RESTXQ > >> > føre > >> > fo - re 123 > >> > > >> > The first word quoted is "føre" in both cases and is what the scripts > >> > see, > >> > so the full text is given the same in both cases. Could it be that > >> > within > >> > RESTXQ the full text index is treated differently? > >> > > >> > I will work closer on a self contained example, but thought this > might > >> > point to something. > >> > > >> > Cheers > >> > Lars > >> > > >> > > >> > 2015-05-18 13:44 GMT+02:00 Lars Johnsen <yoon...@gmail.com>: > >> >> > >> >> Hi Christian - and thanks for fast response. Latest version 8.11 is > in > >> >> use > >> >> (same behaviour as previous). Let me see if I can make a self > contained > >> >> example. > >> >> > >> >> best, > >> >> Lars > >> >> > >> >> 2015-05-18 13:40 GMT+02:00 Christian Grün <christian.gr...@gmail.com > >: > >> >>> > >> >>> Hi Lars, > >> >>> > >> >>> hm, that's difficult to tell. All I can say is that this sounds > >> >>> unusual, so I'm coming up with my standard questions: Do you think > you > >> >>> could build us a little example that allows us to reproduce the > >> >>> problem? Have you tried the latest version of BaseX? > >> >>> > >> >>> Best, > >> >>> Christian > >> >>> > >> >>> > >> >>> On Mon, May 18, 2015 at 1:35 PM, Lars Johnsen <yoon...@gmail.com> > >> >>> wrote: > >> >>> > > >> >>> > I am running a web script in two identical versions (identical as > in > >> >>> > "cut > >> >>> > and paste"), one via RESTXQ and one vi REST. The response is > >> >>> > different, > >> >>> > and > >> >>> > I wondered what may be the trouble. > >> >>> > > >> >>> > For example the output (the URLs only works locally) for > >> >>> > http://ljohnsen:8984/hyphens/mellom > >> >>> > is the same as > >> >>> > http://ljohnsen:8984/rest?run=hyphen-show.xq&word=mellom > >> >>> > > >> >>> > which is a set of hyphenation data: > >> >>> > mellom > >> >>> > mel - lom 17005 > >> >>> > Mel - lom 144 > >> >>> > mel - lom. 50 > >> >>> > > >> >>> > but if "mellom" is exchanged with "nasjonalbiblioteket" only the > >> >>> > REST > >> >>> > version shows any result, which then is the same as I get > >> >>> > experimenting > >> >>> > in > >> >>> > the GUI. > >> >>> > > >> >>> > The actual script is added below, and which runs in both versions > >> >>> > (identical apart form the rest and restxq interfaces), it uses > full > >> >>> > text > >> >>> > search, but results differ when run under the REST-regime. > >> >>> > > >> >>> > All the best > >> >>> > Lars G Johnsen > >> >>> > National Library of Norway > >> >>> > > >> >>> > module namespace page = 'http://basex.org/modules/web-page'; > >> >>> > > >> >>> > declare > >> >>> > %rest:path("/hyphens/{$word}") > >> >>> > %output:method("html") > >> >>> > > >> >>> > function page:show-hyphens($word) { > >> >>> > let $db := db:open('hyphen-data') > >> >>> > let $hyphens := for $hyp in $db/hyphens/hyphens[full > contains > >> >>> > text > >> >>> > {$word}] > >> >>> > group by $first := $hyp/first, $second := $hyp/second > >> >>> > let $count := count($hyp) > >> >>> > order by xs:int($count) descending > >> >>> > return element p { > >> >>> > attribute freq {$count}, > >> >>> > $first, " - ", $second, $count > >> >>> > } > >> >>> > > >> >>> > let $total := sum($hyphens//@freq) > >> >>> > let $div := element div { > >> >>> > element p {$word}, > >> >>> > for $hyp in $hyphens > >> >>> > return element div { > >> >>> > attribute class {"hyph"}, > >> >>> > attribute style {"font-size:", 1 > >> >>> > +round(xs:int($hyp//@freq/data()) > >> >>> > div $total,1) || "em"}, > >> >>> > $hyp > >> >>> > > >> >>> > } > >> >>> > } > >> >>> > return > >> >>> > <html encoding="UTF-8"> > >> >>> > <head> > >> >>> > <meta http-equiv="Content-Type" content="text/html" > >> >>> > charset="UTF-8" > >> >>> > /> > >> >>> > <title>Orddelinger</title> > >> >>> > </head> > >> >>> > <body>{$div} > >> >>> > </body> > >> >>> > </html> > >> >>> > > >> >>> > }; > >> >> > >> >> > >> > > > > > >