我在eXist-db上运行XQuery时遇到问题。我有一个在Tomcat上运行的应用程序,并向eXist-db发送查询,以查找某些文件。生成和发送的查询是这样的(我使用~
进行模糊搜索):
for $doc in collection('/db')//document/sender[ft:query(.,'test~')]
let $score := ft:score($doc)
order by $score descending
return
base-uri($doc)
我在测试服务器上收到以下错误:
org.exist.xquery.XPathException: exerr:ERROR Syntax error in Lucene query
string: Cannot parse 'test~': Encountered " <FUZZY_SLOP> "~ "" at line 1, column 10.
Was expecting one of:
<EOF>
<AND> ...
<OR> ...
<NOT> ...
"+" ...
"-" ...
<BAREOPER> ...
"(" ...
"*" ...
"^" ...
<QUOTED> ...
<TERM> ...
<PREFIXTERM> ...
<WILDTERM> ...
<REGEXPTERM> ...
"[" ...
"{" ...
<NUMBER> ...
但是,当我在本地计算机上运行相同的查询时,我没有收到该错误,而是获得了预期的结果。我错过了什么?
答案 0 :(得分:1)
我担心应用程序发送到eXist-db的查询与在本地eXist-db实例上运行它时的查询之间存在一些非常微妙的区别。
我还对上面的查询进行了一些小的清理。