Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Javascript 如何在MarkLogic中创建动态搜索应用程序?_Javascript_Xquery_Marklogic_Marklogic 9 - Fatal编程技术网

Javascript 如何在MarkLogic中创建动态搜索应用程序?

Javascript 如何在MarkLogic中创建动态搜索应用程序?,javascript,xquery,marklogic,marklogic-9,Javascript,Xquery,Marklogic,Marklogic 9,我不熟悉MarkLogic。 有没有可能让搜索应用程序在用户进行搜索时接收到文档的URI链接以及一点摘要?当他们点击URI链接时,他们可以看到完整的文档。我还想给收集方面,这将进一步过滤记录。有一些字段我想用作方面,这些字段存在于某些集合的文档中,但不存在于其他集合中。但是,这些集合确实有一个公共的唯一字段,可用于创建联接或链接它们。我想知道,这怎么可能?我们如何制作集合面?我们如何在不同的集合上进行连接?我们如何使URI链接可点击并引导用户访问完整文档?我想回答一些问题,如向我展示所有包含“内

我不熟悉MarkLogic。 有没有可能让搜索应用程序在用户进行搜索时接收到文档的URI链接以及一点摘要?当他们点击URI链接时,他们可以看到完整的文档。我还想给收集方面,这将进一步过滤记录。有一些字段我想用作方面,这些字段存在于某些集合的文档中,但不存在于其他集合中。但是,这些集合确实有一个公共的唯一字段,可用于创建联接或链接它们。我想知道,这怎么可能?我们如何制作集合面?我们如何在不同的集合上进行连接?我们如何使URI链接可点击并引导用户访问完整文档?我想回答一些问题,如向我展示所有包含“内务管理”一词的维护文档,然后单击位置名称(位置信息可能在不同的集合中)以进一步缩小搜索范围,或者单击从事这些“内务管理”工作的员工的姓名以进一步缩小搜索范围。我非常感谢你的帮助。我构建了一个搜索应用程序,就像MarkLogic教程中的热门歌曲一样,但它只有一个集合,所有文档都有相同的XML模式,但现在不同的集合和不同的XML模式让我感到困惑。还请告诉我是否应该使用搜索API或cts:Search来实现这一点。这是通过将这些集合分开来实现的,还是需要对它们进行非规范化

我非常感谢你的帮助。
非常感谢

我建议您看看。它是一个生成器,可以为您创建一个功能相当全面的搜索应用程序的完整项目。它附带了一些JSON示例数据,并有一些与之相关的示例方面,但您也可以上传其他数据,并使用这些数据,只要您将其放入“数据”集合中

不幸的是,它运行在一个稍微过时的堆栈上,但它相当稳定,并且可能会给您提供关于如何处理某些方面的好主意。一旦正确部署,它应该如下所示:

更新:

关于集合上的facet,生成的应用程序附带了几个示例facet,其中第一个基于集合。它是由REST端点的刻面功能驱动的,而REST端点的刻面功能又构建在REST端点之上。该函数采用可以定义的所谓搜索选项。这里有两个例子:

  <!-- Facet based on document collections, simple yet elegant -->
  <constraint name="Collection">
    <collection facet="true" />
    <!-- optionally enable a prefix to see a specific subset of facets
    <collection facet="true" prefix="data/" />
    -->
  </constraint>

  <!-- Example range facet based on the sample-data -->
  <constraint name="eyeColor">
    <range type="xs:string" facet="true" collation="http://marklogic.com/collation/codepoint">
      <facet-option>limit=5</facet-option>
      <facet-option>frequency-order</facet-option>
      <facet-option>descending</facet-option>
      <path-index>eyeColor</path-index>
    </range>
  </constraint>

极限=5
频率顺序
下降的
眼睛颜色
另见:


你在一个问题中问了很多问题。如果你保持问题的简洁性,那么回答问题就更容易了。@grtjn你能告诉我如何在集合上创建面吗?我扩展了我的答案。。