和\或使用MarkLogic(XQuery或等效工具)进行查询搜索

和\或使用MarkLogic(XQuery或等效工具)进行查询搜索,xquery,marklogic,Xquery,Marklogic,我是MarkLogic的新手,我们正在为我们的产品用例评估MarkLogic 我们评估了一些NoSQL数据库,如MongoDB、Couchbase等 我正在寻找以下类型的查询搜索 (条件1或条件2)和(条件3或条件4)和(条件5) MarkLogic能否提供这种类型的搜索查询 我刚刚开始学习MarkLogic,并试图理解架构 谢谢, Sameer是的,MarkLogic为此类功能提供了一些高级库。看看搜索API 从这里开始: 这里有更全面的文档:是的,MarkLogic为这种功能提供了一些高级库

我是MarkLogic的新手,我们正在为我们的产品用例评估MarkLogic

我们评估了一些NoSQL数据库,如MongoDB、Couchbase等

我正在寻找以下类型的查询搜索

(条件1或条件2)和(条件3或条件4)和(条件5)

MarkLogic能否提供这种类型的搜索查询

我刚刚开始学习MarkLogic,并试图理解架构

谢谢,
Sameer

是的,MarkLogic为此类功能提供了一些高级库。看看搜索API

从这里开始:


这里有更全面的文档:

是的,MarkLogic为这种功能提供了一些高级库。看看搜索API

从这里开始:


这里有更全面的文档:

是的,MarkLogic为这种功能提供了一些高级库。看看搜索API

从这里开始:


这里有更全面的文档:

是的,MarkLogic为这种功能提供了一些高级库。看看搜索API

从这里开始:


这里有更详尽的文档:

原始问题的简短答案是“是”。“如何”的细节将取决于用于表达查询的方法

建议使用三层方法,如果您使用其中的一种,则使用或;如果您在中间层中使用其他语言,则建议使用对的HTTP调用


如果您在MarkLogic的应用程序服务器(通常作为两层体系结构)中工作,还可以使用搜索API(如wst所述)。从MarkLogic 8开始,您可以使用XQuery或服务器端JavaScript实现这一点

原始问题的简短答案是“是”。“如何”的细节将取决于用于表达查询的方法

建议使用三层方法,如果您使用其中的一种,则使用或;如果您在中间层中使用其他语言,则建议使用对的HTTP调用


如果您在MarkLogic的应用程序服务器(通常作为两层体系结构)中工作,还可以使用搜索API(如wst所述)。从MarkLogic 8开始,您可以使用XQuery或服务器端JavaScript实现这一点

原始问题的简短答案是“是”。“如何”的细节将取决于用于表达查询的方法

建议使用三层方法,如果您使用其中的一种,则使用或;如果您在中间层中使用其他语言,则建议使用对的HTTP调用


如果您在MarkLogic的应用程序服务器(通常作为两层体系结构)中工作,还可以使用搜索API(如wst所述)。从MarkLogic 8开始,您可以使用XQuery或服务器端JavaScript实现这一点

原始问题的简短答案是“是”。“如何”的细节将取决于用于表达查询的方法

建议使用三层方法,如果您使用其中的一种,则使用或;如果您在中间层中使用其他语言,则建议使用对的HTTP调用


如果您在MarkLogic的应用程序服务器(通常作为两层体系结构)中工作,还可以使用搜索API(如wst所述)。从MarkLogic 8开始,您可以使用XQuery或服务器端JavaScript实现这一点

MarkLogic可以用前面提到的多种方式处理这种逻辑。
例如,这就是如何使用CTS库设置搜索查询的方法(我强烈推荐CTS库,因为它使用索引更好,并且索引的构造更灵活):

此代码段同时显示AND和OR逻辑。和函数可以获取节点列表。上面的查询说:“查找一个属性为private='true'且具有以下任一属性的元素(称为elementName):forced='true'或forced='pending'

对于更简单的数据,可以通过执行以下操作来使用xQuery谓词:

for $node in $xml/parent/child[@param1 eq "test" AND @param2 eq "OK"]/grandchild[@service eq "yahoo" or @service eq "google"]
  return $node

MarkLogic可以通过上述多种方式处理此类逻辑。
例如,这就是如何使用CTS库设置搜索查询的方法(我强烈推荐CTS库,因为它使用索引更好,并且索引的构造更灵活):

此代码段同时显示AND和OR逻辑。和函数可以获取节点列表。上面的查询说:“查找一个属性为private='true'且具有以下任一属性的元素(称为elementName):forced='true'或forced='pending'

对于更简单的数据,可以通过执行以下操作来使用xQuery谓词:

for $node in $xml/parent/child[@param1 eq "test" AND @param2 eq "OK"]/grandchild[@service eq "yahoo" or @service eq "google"]
  return $node

MarkLogic可以通过上述多种方式处理此类逻辑。
例如,这就是如何使用CTS库设置搜索查询的方法(我强烈推荐CTS库,因为它使用索引更好,并且索引的构造更灵活):

此代码段同时显示AND和OR逻辑。和函数可以获取节点列表。上面的查询说:“查找一个属性为private='true'且具有以下任一属性的元素(称为elementName):forced='true'或forced='pending'

对于更简单的数据,可以通过执行以下操作来使用xQuery谓词:

for $node in $xml/parent/child[@param1 eq "test" AND @param2 eq "OK"]/grandchild[@service eq "yahoo" or @service eq "google"]
  return $node

MarkLogic可以通过上述多种方式处理此类逻辑。
例如,这就是如何使用CTS库设置搜索查询的方法(我强烈推荐CTS库,因为它使用索引更好,并且索引的构造更灵活):

此代码段同时显示AND和OR逻辑。和函数可以获取节点列表。上面的查询说:“查找一个属性为private='true'且具有以下任一属性的元素(称为elementName):forced='true'或forced='pending'

对于更简单的数据,可以通过执行以下操作来使用xQuery谓词