Marklogic 无词干搜索未按预期工作



我正在使用ML 8。

">

未过滤"CTS:对于带有"词干"选项的变音符号单词,搜索无法按预期工作

找到以下示例。

我已经在带有 uri/a 的 ML DB 中插入了以下 xml.xml

案例1:

<root>
<a>FSM İlmî Araştırmalar İnsan ve Toplum Bilimleri Dergisi</a>
</root>

和我正在使用的查询

cts:search(/*,cts:element-word-query(xs:QName("a"), "FSM İlmî Araştırmalar İnsan ve Toplum Bilimleri Dergisi",("case-insensitive","stemmed")),'unfiltered')

上面的查询导致空结果,如果我选择unstemmed那么它可以正常工作。

而在其他一些情况下,它与stemmed选项一起工作。

例如案例2:

<root>
<c>Życie Literackie</c>
</root> 

在这种情况下,具有stemmed选项的相同查询工作正常。

所以,我的问题是为什么stemmed选项在第一种情况下没有按预期工作,为什么它在第二种情况下工作正常。

另外,stemmed在音调符号搜索中的作用是什么?

案例3:我用uri/d插入了下面的普通字符串.xml

<root>
<c>Zycie Literackie</c>
</root>

并运行查询-

cts:search(/*,cts:element-word-query(xs:QName("c"), "Zycie Literackie",("case-insensitive","stemmed")),'unfiltered')

但它同时返回音调符号和普通字符串。 结果如下所示

<root>
<c>Życie Literackie</c>
</root> 
<root>
<c>Zycie Literackie</c>
</root> 

它应该只返回普通字符串Zycie Literackie

同样,插入一个 XML 文件,如下所示

案例4:

<root>
<data>Türkiye Araştırmaları Literatür Dergisi</data>
</root>

查询是-

cts:search(
doc(),
cts:element-word-query(
xs:QName('data'),
"Turkiye Araştırmaları Literatür Dergisi",
('case-insensitive','wildcarded','diacritic-sensitive','unstemmed')
),
"unfiltered"
) 

然后,它会导致空结果。如果使用TurkiyeAraştırmalarıLiteratür这样的单词进行搜索,它将返回正确的结果。

为什么在查询中找不到具有给定字符串的所需搜索结果,而它对单个单词工作正常?

.

情况 3 的说明:如果未在选项中显式指定"音调敏感",文本节点内容将确定它应执行"音调敏感"搜索还是"音调符号不敏感"搜索。如果文本节点中的单词包含音调符号字符,则不执行"音调敏感"搜索。这同样适用于区分大小写的情况。

最新更新