知识大全 Lucene 挖掘相关搜索词

Posted 资料

篇首语:莫道桑榆晚,为霞尚满天。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Lucene 挖掘相关搜索词相关的知识,希望对你有一定的参考价值。

Lucene 挖掘相关搜索词  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  搜索引擎中往往有一个可选的搜索词的列表 当搜索结果太少时 可以帮助用户扩展搜索内容 或者搜索结果太多的时候可以帮助用户深入定向搜索 一种方法是从搜索日志中挖掘字面相似的词作为相关搜索词列表 另一种方法是把用户共同查询的词作为相关搜索词 需要有搜索日志才能实现

  下面使用的是第一种方法

  [java]

  package de;

  //省略引入

  public class RelateWords

  private static final String TEXT_FIELD = text ;

  /**

  *

  * @param words 候选相関词列表

  * @param word 相关搜索词的种子词

  * @return

  * @throws IOException

  * @throws ParseException

  */

  static public String[] filterRelated(HashSet words String word)

  throws IOException ParseException

  //RAMDirectory ramDirectory = new RAMDirectory();

  Directory directory=new SimpleFSDirectory(new File( E://related ));

  IndexWriter indexWriter = new IndexWriter(directory

  new IndexWriterConfig(Version LUCENE_ new IKAnalyzer(true)));

  for (String text : words)

  Document document = new Document();

  document add(new TextField(TEXT_FIELD text Store YES));

  indexWriter addDocument(document);

  

  indexWriter close();

  IndexReader indexReader = DirectoryReader open(directory);

  IndexSearcher indexSearcher = new IndexSearcher(indexReader);

  QueryParser queryParser = new QueryParser(Version LUCENE_

  TEXT_FIELD new IKAnalyzer(true));

  Query query = queryParser parse(word);

  TopDocs td = indexSearcher search(query );

  ScoreDoc[] sd = td scoreDocs;

  String relateWords[] = new String[sd length];

  for (int i = ; i < sd length; i++)

  int z = sd[i] doc;

  Document doc = indexSearcher doc(z);

  relateWords[i] = doc get(TEXT_FIELD);

  

  indexReader close();

  //ramDirectory close();

  directory close();

  return relateWords;

  

  

  测试代码

  [java]

  @Test

  public void test() throws IOException ParseException

  // fail( Not yet implemented );

  HashSet words = new HashSet ();

  // words add( Lucene );

  // words add( Lucene入门资料 );

  // words add( java资料下载 );

  // words add( SQL详解 );

  // words add( 揭祕Lucene原理 );

  // words add( Spring原理解析 );

  // words add( 什么是Lucene?怎么样才可以学好Lucene呢? );

  String word = Spring资料 ;

  String rewords[] = RelateWords filterRelated(words word);

  System out println( 搜索内容 + word);

  System out println( 相关搜索匹配结果 );

  for (int i = ; i < rewords length; i++)

  System out println(rewords[i]);

  

  

  测试结果

  [java]

  搜索内容 Spring资料

  相关搜索匹配结果

  java资料下载

  Lucene入门资料

cha138/Article/program/Java/hx/201311/25641

相关参考

知识大全 用Lucene做一个简单的Java搜索工具

用Lucene做一个简单的Java搜索工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  初学L

知识大全 教你使用solr搭建你的全文检索

  Solr是一个可供企业使用的基于Lucene的开箱即用的搜索服务器对Lucene不熟?那么建议先看看下面两篇文档  实战Lucene第部分初识Lucenelolucene/  用Lucene加速W

知识大全 为什么我的电脑一开机就会安装上百度搜霸、雅虎助手、划词搜索。

为什么我的电脑一开机就会安装上百度搜霸、雅虎助手、划词搜索。评论1┆举报回答:qxx_wbsl大师5月16日12:10“雅虎助手”的前身是曾被列为“十大流氓软件”之首的“3721上网助手”,所以知道的

知识大全 Lucene.net的全新体验

Lucene.net的全新体验  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 如何使用Lucene对html文件进行索引

如何使用Lucene对html文件进行索引  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我修改

知识大全 定义Lucene 1.3 用到的索引文件格式

定义Lucene1.3用到的索引文件格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jaka

知识大全 lucene中对不同的域使用不同的分析器

  在lucene使用过程中如果要对同一IndexWriter中不同Document不同Field中使用不同的analyzer我们该如何实现呢?  通过对《luceneinaction》的阅读发现是可

化石记录

化石(Fossil)一词来自拉丁语,是“挖掘”的意思。化石这一词最初是指史前时期植物和动物的遗体以及岩石和矿物。由于化石化的过程通常很慢,结果只有动物遗体的坚硬部分,如骨骼、牙齿、壳才能保存下来。偶尔

知识大全 Java Lucene排重实现group by

JavaLucene排重实现groupby  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  pac

要想熟练地在因特网上查找和搜索相关资料,应该学会使用__

要想熟练地在因特网上查找和搜索相关资料,应该学会使用_____。A、E-mailB、HTMLC、搜索引擎D、安卓系统答案:C解析:搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在