--- name: search-optimization description: 搜索优化和关键词策略 --- # 搜索优化 ## 关键词策略 ### 1. 关键词类型 #### 核心关键词 - **定义**:直接描述主题的词 - **特点**:搜索量大,竞争激烈 - **示例**: - "抗日" - 历史主题 - "养生" - 健康主题 - "感动" - 情感主题 #### 长尾关键词 - **定义**:更具体、更精确的词组 - **特点**:搜索量小,精准度高 - **示例**: - "14岁抗日娃娃军" - 具体事件 - "老年人养生操" - 具体方法 - "感动中国人物" - 具体类型 #### 修饰关键词 - **定义**:增加限定条件的词 - **特点**:缩小范围,提高相关性 - **示例**: - 时间:最新、2025、近期 - 程度:最、超级、非常 - 情感:感动、震撼、温馨 - 对象:老年人、孩子、女性 ### 2. 关键词组合 #### 基础组合 ``` 核心词 + 修饰词 示例: - "抗日" + "感动" = "抗日感动" - "养生" + "老年人" = "老年人养生" ``` #### 高级组合 ``` 核心词 + 修饰词 + 限定词 示例: - "抗日" + "娃娃军" + "感动" = "抗日娃娃军感动" - "养生" + "操" + "老年人" = "老年人养生操" ``` #### 同义词替换 ``` 原词 → 同义词 示例: - "抗日" → "抗战"、"抗日战争" - "感动" → "震撼"、"泪目"、"催泪" - "养生" → "保健"、"健康"、"长寿" ``` ### 3. 关键词扩展 #### 方法1:使用搜索建议 ```python # 使用 get_search_suggestions 工具 keyword = "抗日" suggestions = get_search_suggestions(keyword, channel="douyin") # 从建议中选择相关词 # 示例结果: # - "抗日英雄" # - "抗日战争" # - "抗日神剧" # - "抗日老兵" ``` #### 方法2:提取视频标签 ```python # 从搜索结果中提取标签 video_detail = video_library_get_detail(video_id) tags = video_detail["tags"] # 使用标签作为新的关键词 # 示例:["抗日", "娃娃军", "感动", "历史"] ``` #### 方法3:分析相关内容 ```python # 查看相关视频的关键词 related_videos = search_posts("抗日", channel="douyin") # 提取高频词汇 # 分析标题中的共同词 ``` ## 搜索策略 ### 1. 渐进式搜索 #### 阶段1:宽泛搜索 ``` 目标:了解整体情况 关键词:核心词 示例:"抗日" 预期:结果多,相关性一般 ``` #### 阶段2:精确搜索 ``` 目标:缩小范围 关键词:核心词 + 修饰词 示例:"抗日 + 感动" 预期:结果适中,相关性提高 ``` #### 阶段3:精准搜索 ``` 目标:找到目标内容 关键词:长尾关键词 示例:"抗日娃娃军感动" 预期:结果少,相关性高 ``` ### 2. 多维度搜索 #### 维度1:不同平台 ```python platforms = ["douyin", "xhs", "bili", "zhihu"] for platform in platforms: results = search_posts(keyword, channel=platform) # 分析各平台的内容特点 ``` #### 维度2:不同关键词 ```python keywords = ["抗日娃娃军", "抗日英雄", "抗日老兵"] for keyword in keywords: results = search_posts(keyword, channel="douyin") # 对比不同关键词的结果 ``` #### 维度3:不同时间 ```python # 搜索不同时间段的内容 filters = { "date_range": "recent" # 最近、本月、本年 } results = search_posts(keyword, filters=filters) ``` ### 3. 迭代优化 #### 循环1:搜索 → 分析 → 调整 ``` 1. 使用初始关键词搜索 2. 分析搜索结果质量 3. 根据结果调整关键词 4. 重复1-3直到满意 ``` #### 循环2:发现 → 扩展 → 验证 ``` 1. 发现有价值的内容 2. 提取相关关键词和标签 3. 使用新关键词搜索 4. 验证新结果的质量 ``` ## 搜索技巧 ### 1. 关键词优化 #### 技巧1:去除无效词 ``` 无效词:的、了、吗、呢、啊 示例: - "抗日的娃娃军" → "抗日娃娃军" - "让人感动的视频" → "感动视频" ``` #### 技巧2:使用引号精确匹配 ``` 某些平台支持引号搜索 示例: - "抗日娃娃军" - 精确匹配这个词组 ``` #### 技巧3:使用空格分隔 ``` 多个关键词用空格分隔 示例: - "抗日 娃娃军 感动" ``` ### 2. 结果筛选 #### 按数据指标筛选 ```python # 设置最低阈值 min_likes = 5000 min_comments = 100 # 过滤结果 filtered_results = [ video for video in results if video["like_count"] >= min_likes and video["comment_count"] >= min_comments ] ``` #### 按时间筛选 ```python # 只要最近的内容 from datetime import datetime, timedelta recent_date = datetime.now() - timedelta(days=30) filtered_results = [ video for video in results if video["publish_time"] >= recent_date ] ``` #### 按标签筛选 ```python # 必须包含特定标签 required_tags = ["抗日", "感动"] filtered_results = [ video for video in results if any(tag in video["tags"] for tag in required_tags) ] ``` ### 3. 结果排序 #### 按相关性排序 ```python # 计算相关性得分 def relevance_score(video, keywords): score = 0 title = video["title"].lower() for keyword in keywords: if keyword in title: score += 1 return score # 排序 sorted_results = sorted( results, key=lambda v: relevance_score(v, keywords), reverse=True ) ``` #### 按质量排序 ```python # 综合质量得分 def quality_score(video): likes = video["like_count"] comments = video["comment_count"] shares = video["share_count"] return likes * 0.5 + comments * 0.3 + shares * 0.2 # 排序 sorted_results = sorted( results, key=quality_score, reverse=True ) ``` ## 平台特性 ### 抖音(Douyin) #### 搜索特点 - 算法推荐强 - 热门内容优先 - 标签系统完善 #### 优化建议 - 使用热门标签 - 关注话题挑战 - 利用搜索建议 #### 最佳实践 ```python # 1. 先搜索核心词 results = search_posts("抗日", channel="douyin", max_count=20) # 2. 获取搜索建议 suggestions = get_search_suggestions("抗日", channel="douyin") # 3. 使用建议词搜索 for suggestion in suggestions: results = search_posts(suggestion, channel="douyin") ``` ### 小红书(XHS) #### 搜索特点 - 图文结合 - 种草属性强 - 女性用户多 #### 优化建议 - 关注生活化关键词 - 使用情感化词汇 - 注意标题党 ### B站(Bili) #### 搜索特点 - 长视频为主 - 深度内容多 - 年轻用户多 #### 优化建议 - 使用专业术语 - 关注UP主 - 查看分区 ### 知乎(Zhihu) #### 搜索特点 - 文字为主 - 深度讨论 - 高学历用户 #### 优化建议 - 使用问题式关键词 - 关注高赞回答 - 查看话题 ## 常见问题 ### Q: 搜索结果太少怎么办? A: 优化策略 1. **简化关键词** - 去掉修饰词 - 使用更通用的词 - 尝试同义词 2. **扩大范围** - 增加平台 - 放宽筛选条件 - 延长时间范围 3. **调整策略** - 从精准搜索改为宽泛搜索 - 使用核心词而非长尾词 ### Q: 搜索结果太多怎么办? A: 优化策略 1. **精确关键词** - 添加修饰词 - 使用长尾关键词 - 增加限定条件 2. **提高阈值** - 提高最低点赞数 - 提高最低评论数 - 限制发布时间 3. **使用过滤** - 按标签过滤 - 按账号过滤 - 按受众过滤 ### Q: 搜索结果不相关怎么办? A: 优化策略 1. **检查关键词** - 是否有歧义 - 是否太宽泛 - 是否拼写错误 2. **调整组合** - 改变关键词顺序 - 添加限定词 - 使用引号精确匹配 3. **换个角度** - 从不同角度描述需求 - 使用不同的表达方式 - 参考相关内容的关键词 ## 最佳实践 ### 1. 搜索前准备 ``` - 明确搜索目标 - 列出核心关键词 - 准备同义词列表 - 设定筛选标准 ``` ### 2. 搜索过程 ``` - 从宽到窄逐步搜索 - 记录每次搜索的关键词和结果 - 及时调整策略 - 保存有价值的结果 ``` ### 3. 搜索后处理 ``` - 分析结果质量 - 提取有效关键词 - 保存成功的搜索策略 - 总结经验教训 ``` ### 4. 持续优化 ``` - 定期回顾搜索策略 - 更新关键词库 - 学习新的搜索技巧 - 分享成功经验 ``` ## 搜索模板 ### 模板1:历史内容搜索 ```python # 1. 核心词搜索 results_1 = search_posts("抗日", channel="douyin") # 2. 添加情感词 results_2 = search_posts("抗日 感动", channel="douyin") # 3. 使用长尾词 results_3 = search_posts("抗日娃娃军", channel="douyin") # 4. 获取建议词 suggestions = get_search_suggestions("抗日", channel="douyin") # 5. 使用建议词搜索 for suggestion in suggestions: results = search_posts(suggestion, channel="douyin") ``` ### 模板2:养生内容搜索 ```python # 1. 核心词搜索 results_1 = search_posts("养生", channel="douyin") # 2. 添加受众词 results_2 = search_posts("养生 老年人", channel="douyin") # 3. 添加方法词 results_3 = search_posts("老年人养生操", channel="douyin") # 4. 验证受众 for video in results_3: profile = hotspot_get_video_profile(video["url"]) # 检查年龄分布 ```