Hi Thomas,
your query will be evaluated much faster if you rewrite it to..
//LINE[ text() contains text "romeo juliet"]
This query should take ~3-5 ms on the 7.5mb Shakespeare instance.
You can have a look into our XQuery documentation (http://basex.org/xquery, Section »Query Evaluation«) to get more insight on query compilation and how to utilize the index structures.
Hope this helps, Christian ___________________________
Christian Gruen Universitaet Konstanz Department of Computer & Information Science D-78457 Konstanz, Germany Tel: +49 (0)7531/88-4449, Fax: +49 (0)7531/88-3577 http://www.inf.uni-konstanz.de/~gruen
On Thu, Feb 11, 2010 at 12:24 AM, Thomas Goossens thomgooss@gmail.com wrote:
Hello,
I am trying XQuery Full-text on BaseX and I am a bit surprised by the full-text query speed: I have loaded the Shakespeare plays into a BaseX database, and created a full-text index. So far so good.
Then I a tried a query like: //LINE[ . contains text "romeo juliet" all words] (4 hits)
It takes about 1200 ms. I expected less than 100 ms. For example I tried Qizx and it takes less than 20 ms. Even eXist (old version, with a different syntax) was taking around 200 ms.
I tried dropping the full-text index: that makes no difference! So clearly the FT index is not used. What should I do ?
Thanks