gpt4 book ai didi

solr - 将两个方面视为相同的值

转载 作者:行者123 更新时间:2023-12-02 22:10:10 25 4
gpt4 key购买 nike

假设有一个带有作者字段的书籍列表。 Author 字段的一个方面如何将值“Stephen King”和“Richard Bachman”视为相同?所以这些结果:

  • 海明威:8
  • 斯蒂芬·金:10
  • 埃德加·爱伦·坡:20
  • 理查德·巴赫曼:5

将显示为:

  • 海明威:8
  • 斯蒂芬·金:15
  • 埃德加·爱伦·坡:20

请注意,分面标题是“Stephen King”、“Richard Bachman”还是其他名称并不重要。唯一重要的是将它们拼接在一起。

请注意,需要一个查询时解决方案。不幸的是,该索引的模式无法更改,它是一个通用索引,如果每个用户都可以“调整”自己的模式,它就会失控。

最佳答案

您可以通过将分面字段与分面查询相结合来实现这一点。

将这些添加到您的查询中:

&facet=true
&facet.field=author
&facet.query=author:("Hemmingway" OR "Stephen King")

返回的 Facets 如下所示:

facet_counts: {
facet_queries: {
"author:("Hemmingway" OR "Stephen King")" : 18
}
facet_fields: {
author: {
"Hemmingway" : 8,
"Stephen King" : 10,
"Edgar Allan Poe" : 20,
"Richard Bachman" : 5
}
}
}

您还可以向构面查询添加“别名”。改变这个

&facet.query=author:("Hemmingway" OR "Stephen King")

&facet.query={!ex=dt key="Hemmingway"}author:("Hemmingway" OR "Stephen King")

并且 facet 查询输出将是:

    facet_queries: {
"Hemmingway" : 18
}

我不确定您是否可以合并来自 Solr 的两个输出字段(facet_queries 和 facet_fields),但是从任何客户端执行此操作应该是直截了当的。

关于solr - 将两个方面视为相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com