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



我想在我的网站中提供一个搜索功能,用户只能按文本进行搜索,而无需指定属性。

例如,他不允许用户按"author=George Martin"进行搜索,而是简单地查询"George Martin"。

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

{
"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命中的五倍 - 即"狩猎红色十月"将比十月发布的内容更重要。

最新更新