gpt4 book ai didi

indexing - 包含子项和排除父项的 MarkLogic 字段索引加权规则

转载 作者:行者123 更新时间:2023-12-02 20:15:47 24 4
gpt4 key购买 nike

来自MarkLogic's documentation on fields :

If a field has two or more elements with different weights and, if one of those elements is a child of another element, then the weight of the parent element is used and the weight of the child element is ignored.

但是尚不清楚当祖先和后代具有权重并且后代的直系父代被排除时会发生什么。例如,假设我有一个文档:

<X>
<A>
<B>
<C>

<X> (root) 被排除在该字段之外,<A>包含在 weight=1 中, <B>被排除,并且 <C>包含在 weight=2 中。是否将字段匹配 <C> 中的术语加权为1还是2? (有没有办法检查索引权重对分数的影响,以确认这样的配置是否按预期工作?)

最佳答案

我进行了快速测试,这似乎与文档相矛盾。我创建了一个名为 test 的字段。它不包括根和元素 B,但包括权重为 1.0A 和权重为“2.0”的 B 。然后我在 QConsole 中运行以下命令:

xdmp:document-insert("/field-test-X.xml", <X>test</X>, (), "field-test"),
xdmp:document-insert("/field-test-XA.xml", <X><A>test</A></X>, (), "field-test"),
xdmp:document-insert("/field-test-XAB.xml", <X><A><B>test</B></A></X>, (), "field-test"),
xdmp:document-insert("/field-test-XABC.xml", <X><A><B><C>test</C></B></A></X>, (), "field-test"),
xdmp:document-insert("/field-test-XAC.xml", <X><A><C>test</C></A></X>, (), "field-test"),
xdmp:document-insert("/field-test-XC.xml", <X><C>test</C></X>, (), "field-test")
;

cts:search(collection("field-test"), cts:field-word-query("test", "test")) ! (xdmp:node-uri(.) || " - " || cts:score(.))

它返回了我:

/field-test-XABC.xml - 30976
/field-test-XC.xml - 30976
/field-test-XAC.xml - 30976
/field-test-XA.xml - 22528

这告诉我们,元素 C 内的单词 test 获得更高的分数,无论它是直接出现在 A 中,还是与排除元素 B 之间的元素,甚至单独元素。在所有情况下,结果都获得最高分,这表明应用了更高的提升。

呵呵!

关于indexing - 包含子项和排除父项的 MarkLogic 字段索引加权规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36897823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com