搜索灵活的排名

时间:2015-01-14 20:50:05

标签: mongodb search solr amazon-cloudsearch azure-search

任何人都可以建议具有灵活排名计算的搜索引擎吗?

什么是灵活的排名计算?

例如我有两个文件:

obj1 = {
 title: "new record"
 tags: [
             {value:"tag1", weight:1},
             {value:"tag2", weight:0.8},
             {value:"tag3", weight:2},
     ] 
}

obj2 = {
 title: "new record with tag1 in title"
 tags: [
             {value:"tag1", weight:0.5},
             {value:"tag2", weight:1},
             {value:"tag3", weight:0.01},
     ] 
}

让我们假设“title”属性的权重为0.25

当我在所有属性中搜索“tag1”时 我希望搜索返回obj1的排名= 1,obj2的排名= 0.75

我知道Solr可以做到,但你还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

您提到标题的权重,但是您描述的分数值直接映射到标记值。不确定你是否错过了关于这两者如何连接的细节。

假设您希望标题匹配的分数在整个文档分数中起作用,除了提升与特定标记或值范围匹配的文档之外,您还可以使用scoring profiles在Azure搜索中执行此操作(如果如果您更喜欢部署和管理自己的基础架构,那么您可以通过将升级作为查询的一部分与Solr或Elasticsearch一起使用,从而实现搜索即服务解决方案;例如,在Elasticsearch中有一些函数提升,它允许你使用字段的值作为输入来提升计算。