【问题标题】:Facet value search using MarkLogic /v1/values/{name} REST API?使用 MarkLogic /v1/values/{name} REST API 进行构面值搜索?
【发布时间】:2020-07-01 18:08:22
【问题描述】:

我的目标是在另一个结构化查询(我的主要搜索查询)定义的结果集中针对范围索引实现预输入搜索。用例是根据现有搜索结果搜索可用的构面值(和频率)。

我认为POST /v1/values/{name} API 会很合适,但我对它的工作原理有些困惑。

https://docs.marklogic.com/REST/POST/v1/values/[name]

根据文档,此 API 支持 URL 参数 q 定义为:

字符串查询。有关详细信息,请参阅搜索开发人员指南中的自动查询文本解析和语法。此查询与请求正文中的查询进行“与”运算。

我可能误解了,认为这个q 会在范围索引内搜索,类似于cts:value-match。显然是默认搜索整个文档的常规字符串查询?

是否可以将/v1/values/{name} 用于我的用例,或者这不是它的设计目的?你能指出我正确的方向吗?谢谢!

【问题讨论】:

    标签: marklogic


    【解决方案1】:

    查询将限制值来自哪些文档,而不是返回的值——一个稍微不同的用例。

    查看GET /v1/suggest,它可以配置为从范围索引或词典中提取值,并且完全适合您的用例。

    【讨论】:

    • 谢谢,戴夫。我看到 /v1/suggest 只返回匹配的术语,但不返回 /v1/values 中的频率。
    【解决方案2】:

    Dave 是正确的,查询参数过滤的是文档,而不是值。搜索建议是查找值匹配的最合乎逻辑的地方,但如果这还不够,您可以编写自定义代码。你可以用REST Extension 的形式来做这件事,但我建议先看看Data Services,它们更轻量级。

    HTH!

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 2018-04-25
      相关资源
      最近更新 更多