码迷,mamicode.com
首页 > 其他好文 > 详细

07.设置相关度

时间:2017-02-28 13:41:00      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:匹配   txt   关键字   parser   排序   line   文件   pdo   相关度   

为什么要设置相关度

设置相关读可以人为的影响搜索结果的排序,通过设置某一个域的boost,可以在同时出现多条匹配结果时提升排名。通过设置boost影响打分结果,boost是一个加权值(默认加权值为1.0f),它可以影响权重的计算。

设置相关度的时机

1.建立索引时设置

提升某个Document的权重,类似于竞价排名

  1. if(file_name.equals("springmvc.txt")){
  2. //设置比默认值 1.0大的
  3. field_file_content.setBoost(20.0f);
  4. }
  5. if(file_name.equals("spring_README.txt")){
  6. //设置比默认值 1.0大的
  7. field_file_content.setBoost(30.0f);
  8. }
  9. //向文档中添加Field
  10. document.add(field_file_content);

2.查询索引时设置

可以提高某个域的权重,例如seo中h1标题的权重较大

  1. //设置评分,文件名称中包括关键字的评分高
  2. Map<String,Float> boosts = new HashMap<String,Float>();
  3. boosts.put("file_name", 30.0f);
  4. // 创建查询解析器
  5. QueryParser queryParser = new MultiFieldQueryParser(fields,new StandardAnalyzer(),boosts);
  6. // 查询文件名、文件内容中包括“java”关键字的文档
  7. Query query = queryParser.parse("springmvc.txt");
  8. TopDocs topDocs = indexSearcher.search(query, 100);
  9. ScoreDoc[] scoreDocs = topDocs.scoreDocs;

07.设置相关度

标签:匹配   txt   关键字   parser   排序   line   文件   pdo   相关度   

原文地址:http://www.cnblogs.com/wesly186/p/2b2074121ad43695bb61950c10902504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!