From: Sidharth A. <sag...@as...> - 2010-07-16 01:54:12
|
The documentation in page : * http://en.wikibooks.org/wiki/XQuery/Keyword_Search ,* seems to be for eXist 1.3 version. I am trying to do the same thing in eXist 1.4. What all changes i need to make to get the same result. I have made the following changes in the search.xq code, as was stated in one of the thread. 1. kwic.xql can be referenced now as follows: BEFORE: import module namespace kwic="http://exist-db.org/xquery/kwic" at "xmldb:exist:///db/test/kwic.xql"; NOW: import module namespace kwic=" http://exist-db.org/xquery/kwic"; 2. replace the "&=" syntax with lucene search syntax: BEFORE: let $search-string := concat('$scope', '[. &= "', $filtered-q, '"]') let $hits := util:eval($search-string) NOW: let $hits := ft:query($search-string) 3. hit scoring is now built-in to lucene: BEFORE: let $sorted-hits := for $hit in $hits let $keyword-matches := text:match-count($hit) let $hit-node-length := string-length($hit) let $score := $keyword-matches div $hit-node-length order by $score descending return $hit NOW: let $sortedhits := for $hit in $hits order by ft:score($hit) descending return $hit I am getting this error when i call " http://localhost:8080/exist/rest/db/test/search.xq" ERROR: Unexpectedly received 1 parameter(s) in call to function 'ft:query()'. Defined function signatures are: ft:query($nodes as node()*, $query as item()) node()* [at line 18, column 14] Any suggestions. Thanks Sidharth |