完全匹配失败时,用于自定义noextract匹配的Marklogic Smart Mastering选项

时间:2019-06-03 02:31:40

标签: marklogic

我们有一个必须在一方的EIN上进行比赛的要求。如果精确的EIN匹配找不到任何一方,我们将使用“列文什汀距离”自定义算法进行匹配方。

使用智能母带,我看不到用于配置自定义算法的匹配选项,只有在没有一方完全匹配时才进行评估?

1 个答案:

答案 0 :(得分:0)

出于性能原因,智能母带化需要自定义算法返回cts:查询并运行单个搜索。理想情况下,您要平衡那些查询的权重,以便在满足正确条件的情况下,这些权重的总和将超出阈值以触发合并。

您可以尝试几种选择,您需要确定它们是否正确满足您的需求。

1。)传递到地图的“值”条目(如果使用JavaScript,则为JSON Object)是文档中的实际节点,因此可以调用fn:root / fn.root(http://docs.marklogic.com/fn.root)在节点上获取根,然后导航到EIN值。然后,您可以根据xdmp:estimate还是cts.estimate(http://docs.marklogic.com/cts.estimate)进行计数,有条件地添加加权查询。

2。)您可能有两组不同的匹配和合并选项。第一组在EIN上匹配/合并,为没有匹配项的文档添加特殊集合。第二组针对第一次运行中的不匹配项运行,并且使用您的Levenstein查询。

我认为第一个选择可能是最好的选择。