0

我正在寻找一种搜索解决方案,该解决方案将识别字符串(公司名称)并将这些字符串用于 Solr 中的搜索和构面。

我是 Nutch 和 Solr 的新手,所以我想知道这是否最好在 Nutch 或 Solr 中完成。一种解决方案是在 Nutch 中生成一个解析器,用于识别有问题的字符串,然后索引公司名称,然后映射到 Solr 值。我不确定如何,但我想这也可以直接从文本中在 Solr 中完成?

在 Nutch 或 Solr 中进行此字符串识别是否有意义,Solr 或 Nutch 中是否有一些功能可以帮助我?

谢谢。

4

2 回答 2

3

您可以将 NER 库(参见 opennlp、lingpipe、gate)嵌入到自定义解析器中,生成新字段并相应地创建索引过滤器。这并不是特别困难,与在 SOLR 方面执行此操作相比的优势在于您可以从 mapreduce 的可伸缩性中获益(NLP 任务通常需要 CPU 资源)。有关如何在 mapreduce 中嵌入 GATE 的示例,请参见Behemoth

于 2010-08-27T11:06:45.433 回答
1

Nutch 通过 Solr HTTP API 将爬取的数据索引到 Solr,从而与 Solr 一起工作。您可以通过调用 solrindex 命令来触发索引。有关如何设置的详细信息,请参阅此页面。

为了能够提取公司名称,我将在 Solr 中添加必要的代码。我会使用UpdateRequestProcessor。它允许在索引过程中添加一个额外的步骤,以在被索引的文档中添加额外的字段。您的 UpdateRequestProcessor 将用于检查 Nutch 发送给 Solr 的文档,从文本中提取公司名称并将它们作为新字段添加到文档中。Solr 会索引文档+您添加的字段。

于 2010-08-18T13:42:52.840 回答