You need to enable JavaScript to run this app.
文档中心
云搜索服务

云搜索服务

复制全文
下载 pdf
类目预测干预
体验类目预测
复制全文
下载 pdf
体验类目预测
云搜索服务支持添加类目预测词条,通过人工干预来提升检索结果的准确度。本文通过简单示例,演示类目预测的使用方式。​
背景信息​
在普通的用户检索场景中,输入搜索词水,返回的结果中水库鱼头、卤水豆腐靠前,而XX矿泉水却排在后面,影响用户检索体验。​
为解决上述问题,可以添加类目预测词条,将关注的类目相关度提高。后续检索过程在计算每个物品的排序分时,目标类目物品的得分高,将会排在更前面,从而提高了搜索的业务价值。​
​
使用类目预测前​
使用类目预测后​
未使用类目预测时,查询结果得分排名为:水库鱼头 > 卤水豆腐 > XX矿泉水。​图片​​
使用类目预测后,查询结果得分排名为:XX矿泉水>卤水豆腐>水库鱼头。​
​图片​​
​
注意事项​
  • 仅 OpenSearch 实例支持类目预测干预功能。​
场景一:未使用类目预测​
当您不使用类目预测时,在普通查询时,您所关注的类目往往排名较靠后。​
  1. 创建索引并写入数据。​
  1. 通过公网访问 Dashboards。具体步骤,请参见公网访问 Kibana/Dashboards。​
  1. 在页面左侧菜单,选择 Management > Dev Tools,进入开发工具页面。​
  1. 定义索引 mapping。​
  • ​
    PUT /index-test-1​
    { ​
    "mappings":{​
    "properties": { ​
    "name": {"type": "text"},​
    "category": {"type": "keyword"},​
    "price": {"type": "integer"},​
    "date":{ "type": "date","format":"yyyy-MM-dd"}​
    }​
    } ​
    }​
    ​
  1. 批量写入文档。​
  • ​
    POST _bulk​
    {"index" : { "_index": "index-test-1","_id":1} }​
    {"name":"水库鱼头","category":"鱼","price":"25","date":"2024-05-10"}​
    {"index" : { "_index": "index-test-1","_id":2} }​
    {"name":"卤水豆腐","category":"豆腐","price":"3","date":"2024-05-11"}​
    {"index" : { "_index": "index-test-1","_id":3} }​
    {"name":"XX矿泉水","category":"矿泉水","price":"2","date":"2025-05-10"}​
    ​
  1. 通过关键字检索。​
  • ​
    GET /index-test-1/_search​
    {​
    "query": {​
    "match": {​
    "name": "水"​
    }​
    }​
    }​
    ​
  • 从返回结果中得到的排名为:水库鱼头>卤水豆腐>XX矿泉水。​
  • ​图片​​
场景二:使用类目预测​
当您添加类目预测词条,提升搜索词关联的类目相关度,再次查询时,您所关注的类目排名将会更靠前。​
  1. 创建索引并写入数据。​
  • 参考场景一创建索引index-test-2并写入相同数据。​
  1. 配置并生效类目预测词条。具体操作,请参见添加类目预测词条。​
  • 搜索词:水​
  • 字段类目关联度:category > 矿泉水 > 权重大于1​
  • 关联词相关度:鱼头 > 权重小于1​
  • ​图片​​
  1. 配置搜索管道,并添加预处理器。​
  • 以下命令表示:创建一个名为search_intervention_pipeline的搜索管道,向该管道添加了一个名为query_rewrite的请求处理器,并将其配置为空对象{}。​
  • 按以下配置后,在搜索请求执行之前将对查询进行重写操作。​
  • ​
    PUT _search/pipeline/search_intervention_pipeline​
    {​
    "request_processors": [​
    {​
    "query_rewrite": {}​
    }​
    ]​
    }​
    ​
  1. 指定搜索管道,然后根据关键字查询。​
  • ​
    GET /index-test-2/_search?search_pipeline=search_intervention_pipeline​
    {​
    "query": {​
    "match": {​
    "name": "水"​
    }​
    }​
    }​
    ​
  • 从返回结果中得到的排名为:XX矿泉水 > 水库鱼头 > 卤水豆腐。​
  • ​图片​​
​
最近更新时间:2026.03.20 16:27:41
这个页面对您有帮助吗?
有用
有用
无用
无用