`
jayghost
  • 浏览: 441657 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【转】将lucene索引转化成mahout输入向量

 
阅读更多

转自:http://blog.csdn.net/aidayei/article/details/6632819

 

 

mahout lucene.vector --dir /home/test/test-in/index/ --output /home/test/test-in/outdex/part-out.vec --field body --dictOut /home/test/test-in/outdex/dict.out 

问题1:版本问题( "Exception in thread "main" org.apache.lucene.index.CorruptIndexException: Unknown format version: -11" as an error.)
答:这个问题我查了半天,其实官网中已经明确提出这个问题了(详见参考资料1)。我用的是lucene3.1生成的索引,而mahout-0.4中所带的lucene包是3.0.2版,所以报了这个错误。把mahout换成0.5版就不报错了,0.5版中用的是lucene3.1。

问题2:hadoop为什么必须启动,才能执行转化,为什么输出结果直接到hdfs上了呢?而不是本地目录,难道是为了方便后面的聚类分析?为什么有资料说是输出到本地目录?

答:看了一下lucene.vector 源码(在mahout-utils-0.5.jar包中),mahout0.5版与之前版本在输出目录这里有不同,mahout是直接放在hdfs上,而之前版本是会判断是本地目录,如果不是,就放在hdfs上

2011-8-1修正回答:虽然mahout0.5在lucene.vector 源码中处理与之前版本不一样,但根本原因不是这里,mahout从0.4版开始,只要环境变量中设置了HADOOP_HOME,就会在HDFS上运行了,如果没设HADOOP_HOME,它会提示"no HADOOP_HOME set,running locally",此时mahout的文件格式转化命令的输入输出就是本地的目录

问题3:把nutch生成的parse_text作为kmeas输入时,也报错,不知是文件格式问题,还是数据问题?

2011-8-1答:要转成mahout的输入向量类型才行

问题4:参考资料1中说,聚类输入必须是向量形式(二进制存储),可是前面mahout入门例子中,可以直接用.data类型的文件啊

2011-8-1答:因为在入门例子中,用的是example的jar包来运行的,要运行自己的数据,就要转换数据类型,用mahout kmeans+参数来运行

如果希望索引能被mahout lucene.vector 转成向量,则需要存储termVector属性,不管是lucene还是solr中加了TermVector后,索引目录中,都会多出.tvd,.tvf,.tvx三个文件

In Solr, storing Term Vectors is as simple as setting termVectors=”true” on on the field in the schema, as in:

<field name=”text” type=”text” indexed=”true” stored=”true” termVectors=”true”/>

For pure Lucene, you will need to set the TermVector option on during Field creation, as in:

Field fld = new Field(“text”, “foo”, Field.Store.NO, Field.Index.ANALYZED, Field.TermVector.YES);

参考资料:

1.https://cwiki.apache.org/confluence/display/MAHOUT/Creating+Vectors+from+Text

2.http://www.lucidimagination.com/blog/2010/03/16/integrating-apache-mahout-with-apache-lucene-and-solr-part-i-of-3/

分享到:
评论

相关推荐

    Lucene索引器实例

    **Lucene索引器实例详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎的构建。它提供了一个高级的、灵活的、可扩展的接口,使得开发者能够轻松地在应用程序中实现全文...

    lucene索引查看工具及源码

    在使用 Lucene 进行信息检索时,有时我们需要对建立的索引进行查看、调试或分析,这时就需要借助 Lucene 的索引查看工具。 Luke 是一个非常实用的 Lucene 索引浏览器,全称为 Lucidworks Luke。它允许用户以图形化...

    lucene 索引 查看 工具

    1. **Lucene 索引**:Lucene 的索引是一种倒排索引,它将文档中的词项(tokens)映射到包含这些词项的文档列表。这种数据结构使得搜索过程高效,能够在大量文档中快速找到包含特定关键词的文档。 2. **Luke 工具**...

    lucene索引查看程序及代码

    本文将围绕“lucene索引查看程序及代码”这一主题,详细探讨其工作原理、主要功能以及使用方法。 首先,我们要了解什么是Lucene索引。Lucene的索引是一种倒排索引,它通过分析文档内容,将每个单词映射到包含该单词...

    Lucene索引和查询

    查询阶段,用户输入查询字符串,Lucene将这个字符串转换为查询对象,然后与索引进行匹配。查询操作通常包括以下步骤: - 查询分析(Query Parsing):将用户的输入转换为查询语法,可能涉及短语查询、布尔查询等。 ...

    深入 Lucene 索引机制

    《深入 Lucene 索引机制》这篇博文主要探讨了Lucene这个全文搜索引擎的核心索引原理,它在信息检索领域有着广泛的应用。Lucene是一个开源的Java库,它提供了高效、可扩展的文本搜索功能。以下是对Lucene索引机制的...

    Lucene 索引的简单使用

    - **分词器(Tokenizer)**:分词器将输入的文本分解为一系列的词语,这是建立索引的第一步。 - **分析器(Analyzer)**:分析器结合了分词器、过滤器等,负责对文本进行预处理,如去除停用词、词形还原等。 ### 2...

    如何将Lucene索引写入Hadoop?

    标题 "如何将Lucene索引写入Hadoop" 指涉的是在大数据处理场景下,如何利用Apache Lucene的全文检索功能与Apache Hadoop的分布式计算能力相结合,实现高效的数据检索。Apache Lucene是一个高性能、全文本搜索库,而...

    lucene索引查看工具luck7.4.0

    `Luck`,全称`Luke`,是一款强大的Lucene索引浏览器和分析器工具,可以帮助开发者、数据分析师以及对Lucene感兴趣的人员查看、理解和调试Lucene索引。 `Luke 7.4.0`是这款工具的一个特定版本,它专门设计用来与...

    Lucene索引查看工具

    lukeall-0.9.jar为Lucene索引查看工具,方便大家查看索引

    lucene索引结构原理

    1. **分词(Tokenization)**:Lucene使用Analyzer进行文本预处理,将输入的字符串分解成一系列独立的词汇单元(tokens)。Analyzer可以根据语言特性进行定制,例如,英文Analyzer会去除标点符号和停用词。 2. **词...

    很好的lucene索引查看工具,欢迎各位lucene研究者前来下载

    本文将详细介绍一款被称为“很好的lucene索引查看工具”的实用软件,旨在帮助用户更好地理解和调试Lucene索引。 Lucene索引查看工具是一款专为Lucene设计的可视化工具,它允许用户直观地浏览和分析由Lucene创建的...

    Lucene索引文件查看工具lukeall4.7.1

    《深入理解Lucene索引文件查看工具LukeAll 4.7.1》 在信息检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用在各种数据检索系统中。然而,对于开发者来说,理解并调试Lucene创建的索引文件并非易事。此时...

    lucene索引优化多线程多目录创建索引

    我们可以创建多个独立的索引线程,每个线程负责处理一部分文档或目录,然后将这些独立的索引合并成一个完整的索引。 具体操作步骤如下: 1. **任务拆分**:将待索引的文档目录划分为多个子目录,每个子目录分配给...

    luke源码--查看lucene索引文件

    本文将深入探讨Luke的源码,揭示其如何帮助我们理解并调试Lucene索引。 首先,Luke是一个桌面应用,主要设计用于查看和分析Lucene索引。它由多个组件构成,包括源代码(src)、变更日志(CHANGES.html)、Java网络...

    Lucene索引的基本操作

    本文将深入探讨Lucene索引的基本操作,包括如何添加文档到索引、更新已有的索引以及相关的测试代码。 ### 1. 初始化Lucene环境 首先,我们需要导入Lucene的相关库。在Java项目中,可以通过Maven或Gradle等构建工具...

    lucene 索引小示例

    索引是Lucene处理文档的关键步骤,它将文本数据转换为一种结构化的、可快速搜索的形式。在创建索引时,Lucene会对文档进行分词,生成一系列的关键词(也称为术语或Token),然后构建倒排索引。倒排索引是一种数据...

    lucene索引查看工具

    这款已经老了,2.4以后的lucene索引用不了。我上传了最新版本的,有需要的话!请到http://download.csdn.net/source/1423241 下。一款可以查看Lucene分词后在索引的排名以及是否有无该词,很多时候用于查看有无需要...

    Lucene读取索引文件

    本文将深入探讨Lucene如何读取索引文件,帮助开发者更好地理解和利用这一强大的工具。 首先,我们需要了解Lucene索引的基本结构。一个Lucene索引是由多个文件组成的,包括但不限于 segments文件、.del文件(删除...

    lucene索引文件格式介绍

    Lucene 是一个流行的开源全文搜索引擎库,其核心功能之一就是构建高效的索引。索引文件格式是Lucene实现快速搜索的关键。以下是对Lucene索引文件格式的详细说明。 首先,我们要理解Lucene索引的基本结构。一个...

Global site tag (gtag.js) - Google Analytics