知识大全 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
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 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搜索工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 初学L
Solr是一个可供企业使用的基于Lucene的开箱即用的搜索服务器对Lucene不熟?那么建议先看看下面两篇文档 实战Lucene第部分初识Lucenelolucene/ 用Lucene加速W
知识大全 为什么我的电脑一开机就会安装上百度搜霸、雅虎助手、划词搜索。
为什么我的电脑一开机就会安装上百度搜霸、雅虎助手、划词搜索。评论1┆举报回答:qxx_wbsl大师5月16日12:10“雅虎助手”的前身是曾被列为“十大流氓软件”之首的“3721上网助手”,所以知道的
Lucene.net的全新体验 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
如何使用Lucene对html文件进行索引 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 我修改
定义Lucene1.3用到的索引文件格式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jaka
在lucene使用过程中如果要对同一IndexWriter中不同Document不同Field中使用不同的analyzer我们该如何实现呢? 通过对《luceneinaction》的阅读发现是可
化石(Fossil)一词来自拉丁语,是“挖掘”的意思。化石这一词最初是指史前时期植物和动物的遗体以及岩石和矿物。由于化石化的过程通常很慢,结果只有动物遗体的坚硬部分,如骨骼、牙齿、壳才能保存下来。偶尔
JavaLucene排重实现groupby 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! pac
要想熟练地在因特网上查找和搜索相关资料,应该学会使用_____。A、E-mailB、HTMLC、搜索引擎D、安卓系统答案:C解析:搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在