Cloudant搜索:为什么我的通配符不起作用?

时间:2014-09-20 18:35:40

标签: lucene couchdb cloudant

我有一个带有搜索索引的Cloudant数据库。在搜索索引中,我索引文档的标题。例如,搜索' rijkspersoneel':

http://wetten.cloudant.com/regelingen/_design/RegelingInfo/_search/regeling?q=title:rijkspersoneel

返回48行。

然而,当我更换' o'用一个?通配符:

http://wetten.cloudant.com/regelingen/_design/RegelingInfo/_search/regeling?q=title:rijkspers?neel

我得到0结果。这是为什么? Cloudant docs表示这应与“rijkspersoneel”相匹配。还有!

1 个答案:

答案 0 :(得分:1)

我之前的回答肯定是错的。内部通配符似乎确实受支持。尝试:

title:rijkspe*on*
title rijksper?on*

相当确定这里发生的是一个分析问题。相当确定您使用的是干式分析仪。我并不是真的熟悉cloudant及其实现,但在Lucene中,通配符查询不受术语查询的影响。我猜你对这个领域的分析包括一个词干分析器,在这种情况下" rijkspersoneel"实际上被索引为" rijkspersone"。

所以,当你搜索

rijkspersonee*

rijkper?oneel

自" el"在索引表单的最后遗漏,你找不到匹配。当只是搜索rijkpersoneel时,它会被分析,然后您搜索该单词的词干形式,并找到匹配项。

词干和通配符只是不相处。

相关问题