Lucene.vectors:如何设置标签字段

时间:2014-06-05 10:12:19

标签: lucene mahout

我正在尝试使用mahout的lucene.vectors从lucene索引中提取数据。该索引包含Nutch抓取的网页内容。索引的一些字段是:title,url,id,text和category。

我知道我可以使用lucene.vectors从索引中获取数据并将其转换为向量。但是,我无法理解的是如何告诉这个工具Lucene中的哪个字段包含标签。对于我的场景,类别字段是标签字段。

我正在使用mahout 0.9。

提前致谢, Ameer

1 个答案:

答案 0 :(得分:0)

您可能需要一个中间步骤,首先将lucene索引转换为一个序列文件,该文件采用键,值对,其中key表示您的标签。 SequenceFilesFromLuceneStorage.java允许您这样做。说明如下 -

  

/ ** *使用指定的Lucene索引生成序列文件   id字段作为键,内容字段作为值。 * 配置   这个类有一个{@link LuceneStorageConfiguration} bean。 * /

我相信lucene.vector只是将所有文本放入一个向量中(参考 - https://mahout.apache.org/users/basics/creating-vectors-from-text.html)。您需要一个格式为<Text, VectorWritable>的序列文件,以便有一个向量和一个标签。

然后您可以简单地读取序列文件并获取向量和标签。如果您想计算TFIDF,可以使用seq2sparseSparseVectorsFromSequenceFiles.java

或者您也可以先通过提取标签并将其余部分发送到lucene.vector来手动执行此操作。