我们使用exists-db base来存储各种xml文档,我们使用xquery执行搜索。这是示例XML文档:存在的XQuery模糊搜索-db
<person personID="some_id">
<name>
<familyName>Doe</familyName>
<firstName>John</firstName>
</name>
</person>
我们使用的搜索是模糊搜索和查询是在下面的表格
xquery version "3.0";
for $doc in collection('/db/Persons')/*[ft:query(.,'milan~')]
let $score := ft:score($doc)
order by $score descending return base-uri($doc)
的问题在于搜索订单结果相当奇怪。例如,它排列Milun,Milun,戈兰,Vilon之前米兰。换句话说,搜索会给与精确匹配(米兰)不完全匹配的结果分配更高的分数。我们做错了什么?是否有精确匹配的方法与接近完全匹配的分数相比有更高的分数?