Abh*_*tti 6 elasticsearch solr-boost
我阅读了有关在 Elasticsearch 中提升的内容。我们可以在索引或查询时应用 boosting。索引时间提升是一种静态提升,不建议使用。查询时间提升本质上是动态的。查询时间提升是很好的首选方法。
我们还可以为字段添加增强功能。例如,我们在多个字段中搜索一个术语。我们可以提升一个字段来改变文档的分数。
{
"match":{"title":{"query":"test string","boost":10}}
},
Run Code Online (Sandbox Code Playgroud)
我读过体重。
{
"filter": { "match": { "test": "cat" } },
"weight": 42
}
Run Code Online (Sandbox Code Playgroud)
我的理解是在字段上应用权重以改变相关性或分数。Boost 应用于查询以更改相关性或分数。
但我不确定重量和提升的差异。
有人可以通过一些例子纠正我理解重量和提升之间的区别吗?
Chr*_*ris 12
1. Elastic Search 中的相关性调整正在改变字段之间的加权方式,或者提高字段内给定值的相关性。注意:您必须至少有两个架构字段才能调整相关性。
2. 权重应用于字段。增强设置在字段之上,但它们应用于字段值。
3. 重量
每个字段的可能权重为 0 到 10,其中 10 是最重要的权重。
curl -X GET 'https://host-2376rb.api.swiftype.com/api/as/v1/engines/national-parks-demo/search'
-H '内容类型:application/json'
-H '授权: 不记名搜索-soaewu2ye6uc45dr8mcd54v8'
-d '{ "search_fields": { "title": { "weight": 10 }, "description": { "weight": 1 }, "states": { "weight": 2 } }, "查询": "山" }'
在这里,我们要求仅返回结果中的三个字段:标题、描述和状态。我们对每个字段进行加权:分别为 10、1 和 2。
4. 提升
Boost 有 4 种。使用提升来增加相关性。
{ “查询” : { “dis_max” : { “查询” : [ { “匹配” : { “资格” : { “查询” : “社交媒体”, “提升” : 2 } } }, { “匹配” : { "cover_letter" : "社交媒体" } } ] } } }
在这里,我们为在简历中列出“社交媒体”的求职者添加了析取最大查询。此示例将“资格”字段中的查询匹配度提高了 2 倍,而如果“社交媒体”出现在 cover_letter 字段中则不会提高任何值。
在这些示例中,无论如何,权重都硬固定到字段,其中提升硬固定在查询“社交媒体”上,但前提是它在资格字段内匹配。希望这可以帮助..
小智 5
字段相互加权,而提升是基于字段内的给定值。
权重:每个字段的可能权重为 0 到 10,其中 10 是最重要的权重。例如:如果我们希望人们根据查询找到他们正在寻找的页面,那么我们需要优先考虑标题字段。我们可以增加它的权重,使其比其他领域更有影响力。如果标题的权重较高,人们会在顶部的标题中找到该页面所在的文档。
{
"search_fields":{
"title": {
"weight": 10
},
"subtitle": {
"weight": 5
},
"description": {
"weight": 2
}
},
"query": "Elastic"
}
Run Code Online (Sandbox Code Playgroud)
这里我们请求elastic只返回3个字段,即标题、副标题、描述,对应的权重为10、5、2。
Boosts:权重应用于字段。增强设置在字段之上,但它们应用于字段值。在数字、日期或地理位置字段上进行提升时,您需要定义函数参数和因子。根据 boost 的不同,函数有四种类型:线性、指数、高斯和对数。该函数和因子用于计算提升的相关性得分的一半,称为提升值。另一半是原始文档分数。它们结合起来产生总体文档分数,该分数控制结果集的顺序
{
"query": "Elastic",
"boosts": {
"is_elastic_query": [
{
"type": "value",
"value": "true",
"operation": "multiply",
"factor": 10
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
这里我们假设 is_elastic_query 是一个值为 true 或 false 的字段。如果该值为真,我们将使用值提升 10 倍来提升它。
有关详细信息和示例,请访问以下链接:
https://www.elastic.co/guide/en/app-search/current/relevance-tuning-guide.html
| 归档时间: |
|
| 查看次数: |
1961 次 |
| 最近记录: |