首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果某个特定字段与查询匹配,则Solr自定义提升

如果某个特定字段与查询匹配,则Solr自定义提升
EN

Stack Overflow用户
提问于 2014-06-17 08:52:18
回答 2查看 1.1K关注 0票数 0

我们正在尝试实现一个非常有趣的搜索逻辑与自定义提升,我想知道Solr是否可以支持这一点。索引中有以下字段:

  • 名字
  • 描述
  • 关键词(数组)

每个关键字将有一个数量(int值)配对它。

搜索在名称、描述和关键字字段中运行。如果关键字与搜索文本匹配,则必须仅根据匹配关键字的数量来提升相应的索引。

我已经阅读过Solr DisMax,它们只能使用固定的数量来提升字段。

我的方案将是提高结果的X量,基于匹配的关键字。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-18 13:47:38

对于这个问题,我看到唯一可行的解决方案(当然,假设您事先不知道关键字的数量)就是将查询作为过滤器查询(跳过评分阶段),使所有文档匹配(有点问题),然后使用匹配的术语对它们进行排序,构建java比较器。

当您获得特别多的文档时,可能会出现问题,但是您可能可以通过分页来解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2014-06-18 10:37:14

如果您没有太多不同的金额,也许您可以在索引时间尝试这个方法:

根据“关键字”的数量,在不同字段(dynamicfields->boost-*)中存储“关键字”:

代码语言:javascript
复制
boost-1 = keyword1,keyword4,keyword6 <br/>
boost-10 = keyword2<br/>
boost-100 = keyword5

您可以搜索所有的boost字段(Edismax),在(e)dismax conf(boost-1^1,boost-10^10,boost-100^100)中增加每个动态字段的数量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24259493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档