代码之家  ›  专栏  ›  技术社区  ›  Akeem

通过加权某些元素对结果排序

  •  3
  • Akeem  · 技术社区  · 16 年前

    我有一个solr查询,它只返回索引中最近的项。但是,我尝试选择性地将类别传递给category字段进行加权,这样,如果category字段存在匹配项,那么这些字段的加权会更高,但仍然会显示没有类别的字段。

    文档结构如下所示:

    {id:1, title:"sometitle", category:['cat1','cat2']},{id:1, title:"sometitle", category:[]}
    

    title:*
    

    我尝试了boostquery(bq),但是没有成功(这是有意义的,因为我的查询是返回all),我正在按分数对主要字段进行排序,并对“created”字段进行二次排序

    1 回复  |  直到 16 年前
        1
  •  3
  •   Xodarap    16 年前

    如果我没弄错你的问题,你希望某些文件的分数更高 不管你的问题是什么 ,对吧?那些有类别的文档应该比没有类别的文档好吗?

    如果这是您想要的,请参阅: How can I increase the score for specific documents?

    或者,您可能只在查询时才要求增强内容。您的查询应该是

    +(title:"title to search for") category:"categories to boost"
    

    这只会找到与标题匹配的内容,但如果查询中包含一个类别,则会提高分数。