【问题标题】:Is it possible to get the which "where" condition is matched in Vespa.ai?是否有可能在 Vespa.ai 中获得匹配的“位置”条件?
【发布时间】:2019-12-19 12:52:31
【问题描述】:

我有一个用例,如果我们提供了多个条件,我需要找出与查询的哪个“where”条件匹配以获得结果。

例如-

我们有组织数据,其中有员工姓名、城市、技术和爱好。

现在我们有 3 个条件是- 1.我们需要获取城市为FOO_CITY的记录。 2.我们需要获取技术为FOO_TECH的记录。 3. 获取爱好为FOO_BLOG的记录。

当我们编写查询时,我们得到满足这些条件的输出行,但我需要从以上三个中找出满足哪个条件。

【问题讨论】:

  • 你的意思是你的条件是1 OR 2 OR 3?
  • @M.Prokhorov 是的

标签: java elasticsearch bigdata vespa


【解决方案1】:

您可以要求 Vespa 生成汇总排名功能,您可以在中间层或搜索器插件中使用这些功能。

https://docs.vespa.ai/documentation/ranking.html

一组内置排名特征https://docs.vespa.ai/documentation/reference/rank-features.html

鉴于我们有 3 个领域,城市、技术和爱好:

rank-profile what-matched-my-query {
    first-phase {
       expression: something 
     }
    summary-features {
      matches(city)
      matches(technology)
      matches(hobby)
    }
}

/search/?yql=s..;&ranking=what-matched-my-query

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2020-01-13
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多