如果搜索不允许指定属性,对Solr文档建模有意义吗?

如果搜索不允许指定属性,对Solr文档建模有意义吗?,solr,Solr,我想在我的网站上提供一个搜索功能,用户可以只通过文本进行搜索,而不需要指定属性 例如,不允许用户通过“author=georgemartin”进行搜索,而是简单地查询“georgemartin” 我想知道像这样的文档模型是否有任何优势: { "id": 1, "title": "Game of Thrones", "author": "George R. R. Martin", "published": "August, 1996" } 与之相比: { "id": 1,

我想在我的网站上提供一个搜索功能,用户可以只通过文本进行搜索,而不需要指定属性

例如,不允许用户通过“author=georgemartin”进行搜索,而是简单地查询“georgemartin”

我想知道像这样的文档模型是否有任何优势:

{
  "id": 1,
  "title": "Game of Thrones",
  "author": "George R. R. Martin",
  "published": "August, 1996"
}
与之相比:

{
  "id": 1,
  "data": [
    "Game of Thrones",
    "George R. R. Martin",
    "August, 1996"
  ]
}

如果我不打算在Solr API中使用“author:value”,我应该会得到相同的结果,对吗?

第一个版本将允许您为不同的字段分配不同的权重。也就是说,标题中的点击可能比作者字段中的点击更重要,反之亦然

使用edismax处理程序(
defType=edismax
)和查询字段(
qf=title author published
)将提供与第二个示例相同的行为,但将保留文档的结构

由于字段被放入
qf
参数中,用户无需明确告诉Solr她要搜索哪些字段

要赋予字段不同的权重,请在
qf
列表中为字段指定权重:
qf=title^5 author^2 published
在标题中的命中率是
published
中命中率的五倍,即“红色十月狩猎”比10月份发布的内容更重要。

谢谢!你在标题中提到“十月”的例子对我帮助很大。