“搜索质量”是指执行搜索查询的用户对于搜索结果的排名和召回率等质量体验。
排名是指项的排序,而召回率是指检索到的相关项的数量 。项(或文档)是指 Google Cloud Search 可以编入索引的任何数字内容,例如 Microsoft Office 文档、PDF 文件、数据库行或唯一网址。项包含以下内容:
- 结构化元数据
- 可编入索引的内容
- ACL
Cloud Search 使用各种信号来检索结果并对其进行排名。 您可以通过架构中的设置、项的内容和元数据以及搜索应用来影响这些信号。本文档可帮助您通过修改这些信号影响因素来提高搜索质量。
如需查看设置摘要,请参阅 搜索质量设置摘要。
影响话题性分数
“话题性”是指搜索结果与查询字词的相关性。 Cloud Search 根据以下因素计算话题性:
- 每个查询字词的重要性。
- 命中数(查询字词在内容或元数据中出现的频率)。
- 查询字词与已编入索引的项之间的匹配类型。
如需影响文本属性的话题性分数,请在架构中定义
RetrievalImportance
。与 RetrievalImportance
较高的属性进行匹配时,会生成较高的分数。
例如,如果您存储软件 bug 历史记录,用户可能会按 bug 名称进行查询。将名称的 RetrievalImportance 设置为
HIGHEST。对于说明,请使用 DEFAULT。
{
"objectDefinitions": [
{
"name": "issues",
"propertyDefinitions": [
{
"name": "summary",
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" }
}
},
{
"name": "description",
"textPropertyOptions": {
"retrievalImportance": { "importance": "DEFAULT" }
}
}
]
}
]
}
对于 HTML 文档,标记(例如 <title> 和 <h1>)有助于确定字词
的重要性。如果 ContentFormat
为 TEXT,则 ItemContent
使用 DEFAULT 重要性。如果为 HTML,则重要性取决于 HTML
属性。
影响新鲜度
“新鲜度”是指项最近修改的时间,使用 createTime 和
updateTime 在
ItemMetadata 中衡量。较旧的项排名较低。
您可以通过调整 freshnessProperty 和
freshnessDuration
FreshnessOptions 来影响新鲜度。
借助 freshnessProperty,您可以使用自定义日期或时间戳(而不是
updateTime)。对于 bug,您可以使用截止日期,以便日期最接近现在的项排名更高。
{
"objectDefinitions": [
{
"name": "issues",
"options": {
"freshnessOptions": { "freshnessProperty": "duedate" }
}
}
]
}
freshnessDuration 可以用来确定项被视为过期的时间。如果值过大(例如 100
年),则会导致新鲜度对排名的影响失效。这对于员工个人资料等静态数据非常有用。对于新闻,请使用较小的值(例如三天)。
影响质量
质量衡量项的准确性和实用性。使用
SearchQualityMetadata指定介于 0
和 1 之间的值。值越大,排名越高。例如,您可以提升人力资源部门撰写的福利文档的排名。
{
"metadata": {
"searchQualityMetadata": { "quality": 1.0 }
}
}
使用字段类型影响排名
您可以使用
OrderedRanking根据枚举或整数属性来影响排名:
NO_ORDER(默认值):不影响排名。ASCENDING:值越大,排名越高。DESCENDING:值越小,排名越高。
对于 bug 优先级,如果 HIGH 为 1 且 LOW 为 3,请使用 DESCENDING。对于 votes
属性,请使用 ASCENDING。
通过查询扩展影响排名
“查询扩展”使用同义词和拼写来改进结果。
使用同义词
Cloud Search 使用公共 Web 内容作为同义词。您还可以为组织专用术语定义自定义同义词。请参阅 定义同义词。
使用拼写
Cloud Search 在
SpellResult中提供拼写建议。
它还使用更正的拼写作为同义词来查找文档。
通过搜索应用设置影响排名
搜索应用提供上下文信息。您可以使用以下设置来影响排名。
调整评分配置
指定
ScoringConfig
以停用 新鲜度 或 个性化。
停用个性化会移除所有者和交互情况
等排名提升条件。请参阅
自定义搜索体验。
调整源配置
指定数据源级设置:
- 源重要性:来自重要性为
HIGH的源的项排名更高。 - 拥挤:限制来自单个源的结果数量(默认值为 3),以确保多样性。
个性化
个性化会根据用户对结果进行优先排序:
- 项所有权:提升用户拥有的项的排名。
- 项交互情况:提升用户最近查看、 编辑或评论过的项的排名。
- 用户点击:提升用户之前点击过的项的排名。请勿修改结果网址,因为系统会使用该网址来收集此数据。
查询解释
“查询解释”功能使用架构定义将用户查询转换为基于运算符的结构化查询。 即使关键字很少,也能提供精确的结果。请参阅 构建架构以获得最佳查询解释。
推荐项语言
Cloud Search 会将语言与查询语言不匹配的项的排名降位。将 languageCode 在
RequestOptions
中设置为用户偏好的语言。
推荐项上下文
使用
contextAttributes
提升与查询上下文(例如位置或
部门)相关的项的排名。
推荐项热门程度
Cloud Search 会提升用户在最近的查询中经常点击的项的排名。请勿修改搜索结果网址,因为系统会使用该网址来跟踪这些点击。
搜索质量设置摘要
下表提供了搜索质量设置的摘要:
架构设置
| 设置 | 位置 | 建议 | 详细信息 |
|---|---|---|---|
ItemContent |
ItemContent |
推荐 | 话题性 |
RetrievalImportance |
RetrievalImportance |
推荐 | 话题性 |
FreshnessOptions |
FreshnessOptions |
可选 | 新鲜度 |
索引设置
| 设置 | 位置 | 建议 | 详细信息 |
|---|---|---|---|
createTime/updateTime |
ItemMetadata |
推荐 | 新鲜度 |
contentLanguage |
ItemMetadata |
推荐 | 项语言 |
owners |
ItemAcl |
推荐 | 推荐项所有权 |
| 自定义同义词 | _dictionaryEntry |
推荐 | 使用同义词 |
quality |
SearchQualityMetadata |
可选 | 影响质量 |
| 互动数据 | interaction |
可选 | 项交互情况 |
OrderedRanking |
OrderedRanking |
可选 | 字段类型 |
搜索应用设置
| 设置 | 位置 | 建议 | 详细信息 |
|---|---|---|---|
| 停用个性化设置 | ScoringConfig |
推荐 | 个性化 |
| 源重要性 | SourceCrowdingConfig |
可选 | 源配置 |
| 挤出 | SourceCrowdingConfig |
可选 | 源配置 |