Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting “如何忽略”;“停止说话”;在MarkLogic中排序时?_Sorting_Marklogic_Marklogic 8 - Fatal编程技术网

Sorting “如何忽略”;“停止说话”;在MarkLogic中排序时?

Sorting “如何忽略”;“停止说话”;在MarkLogic中排序时?,sorting,marklogic,marklogic-8,Sorting,Marklogic,Marklogic 8,排序时有没有办法忽略“停止字” 例如: 我有这样的话 dixit singla 标记逻辑 按降序排序时,结果应为 singla,marklogic,dixit 如上例所示,被忽略 有什么办法可以做到这一点 更新: 停止语可以出现在任何地方。 比如说 标记逻辑 MarkLogic是最好的 标记逻辑非常棒 >排序时,不应考虑文本中的任何停止字。 以上只是一个描述问题的小例子 实际上,我使用的是search:searchAPI。 对于排序,我使用排序顺序搜索选项。 我必须对其执行排序的元素是动态的。大

排序时有没有办法忽略“停止字”

例如: 我有这样的话

dixit

singla

标记逻辑

降序排序时,结果应为
singla
marklogic
dixit

如上例所示,
被忽略

有什么办法可以做到这一点

更新:

停止语可以出现在任何地方。 比如说

标记逻辑

MarkLogic是最好的

标记逻辑非常棒

>排序时,不应考虑文本中的任何停止字。

以上只是一个描述问题的小例子

实际上,我使用的是
search:search
API。 对于排序,我使用
排序顺序
搜索选项。 我必须对其执行排序的元素是动态的。大约有30-35个元素


有没有办法在此级别自定义排序规则?例如,配置一些在排序时将被忽略的单词(停止单词)。

如果我正确理解了您的问题,则在对结果集进行排序时,您试图删除定冠词

为此,您需要使用一些附加函数并创建“排序”条件。我的解决方案是这样的(我还包括一些示例文档,这样您就可以通过复制粘贴来测试):


我希望这会有所帮助。

没有标准的排序规则URI可以为您这样做(至少我从未见过这样的URI)。当然,您可以通过对函数调用的结果进行排序来动态地执行此操作,但如果您希望在一定范围内高效地执行此操作(并且可用于
search:search
),则需要将可排序字符串具体化到文档中。我经常将此作为元素的一个属性:

<title sortable="Great Gatsby, The">The Great Gatsby</title>
伟大的盖茨比 然后在
title/@sortable
属性上放置范围索引


您还可以使用“信封模式”,在这种模式下,像这样的物化元数据在文档的自己部分中维护,而原始元数据则保存在自己的部分中。对于这样的事情,我认为直接装饰元素更为优雅,以保持上下文。

感谢您的回复。停止语可以出现在任何地方。文本的开头、中间、结尾。我已相应地更新了问题。在这种情况下,您需要更新此逻辑以满足您的需要。无法使用上述逻辑,因为我正在使用搜索:搜索API,在搜索选项中添加
对数据进行排序。我需要排序的元素是动态的。我想会有一个选项来定制排序规则,以完全满足我的需要。感谢您宝贵的时间:)更新了问题。如果需要更多细节,请告诉我。
 - Adams
 - the Lord
 - O'Toole
 - Petrov
<title sortable="Great Gatsby, The">The Great Gatsby</title>