solr DB解析提供了不少pugin的东东,比如regexTransform,功能还是比较丰富。
譬如用到正则表达式方式解析字段,带分隔符解析字段集合。
<entity name="foo" transformer="RegexTransformer"
query="select full_name , emailids from foo"/>
... />
<field column="full_name"/>
<field column="firstName" regex="Mr(\w*)\b.*" sourceColName="full_name"/>
<field column="lastName" regex="Mr.*?\b(\w*)" sourceColName="full_name"/>
<!-- another way of doing the same -->
<field column="fullName" regex="Mr(\w*)\b(.*)" groupNames="firstName,lastName"/>
<field column="mailId" splitBy="," sourceColName="emailids"/>
</entity>
虽然这样,它还是毕竟有限,不过他提供Transform 的重写,看看它的代码,它可以实现很复杂的记录处理:
public class RegexTransformer extends Transformer
{
public RegexTransformer()
{
PATTERN_CACHE = new HashMap();
}
public Map transformRow(Map row, Context context)
{
}
}
尽管可以子扩展,不过它有个瓶颈,它对数据处理时针对一条记录解析完还是一条记录,不能支持1:n模式,一些复杂的运用不好解析,呵呵,至少我们项目遇到了。解决方法,我暂时想到用db字段做冗余来解决,还有人知道如何处理么?
分享到:
相关推荐
Nutch 提供了从互联网抓取网页、解析内容、提取链接到存储索引的完整流程。Nutch 1.2 版本后,它开始使用 Ivy 进行依赖管理,方便构建和集成其他组件。 【Hadoop】 Hadoop 是一个分布式计算框架,用于处理和存储...
- DB Import Handler:从数据库导入数据。 - CSV Data Import Handler:从CSV文件导入数据。 3. **Solr高亮显示**: - 配置highlighting参数。 - 自定义高亮标签。 4. **Solr分面搜索**: - 统计聚合结果。 ...
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful ...根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
压缩包中的"db42ed8c9bdc36c078cbedee8bac3ef2.txt"和"fileinfo.txt"可能是文档或者日志文件,可能包含有关SolrPhpClient的使用说明、示例代码或者版本信息。"SolrPhpClient"目录则可能包含了SolrPhpClient的源代码...
db-import.xml则用于配置从数据库导入数据到Solr的规则和逻辑。这些配置文件的正确配置是保证数据能够正确导入和索引的基础。 数据导入也是influent工程搭建的重要部分。在实际操作中,需要先将mysql数据库中的数据...
1. **初始化crawlDb与注入初始URL**:使用`bin/nutch inject db/crawldb urls/`命令初始化数据库并注入初始URL列表。 2. **生成新的抓取URLs**:执行`bin/nutch generate crawldb segments_dir [-force] [-topNN] [-...
- 选择合适的数据库存储爬取的数据,如HBase或Solr。修改`conf/nutch-site.xml`中的相关配置项,例如`db.url`、`db.batch.size`等。 6. **启动Hadoop**(如果需要分布式运行): - 安装并配置Hadoop,确保Hadoop...
`db_search_Log.LDF`和`db_search_Data.MDF`可能是数据库日志和数据文件,它们可能被用作Lucene索引的来源。 3. **查询解析与执行** Lucene提供了强大的查询解析器,能够处理多种查询语法,包括布尔查询、短语查询...
权限控制在MLSQL中的重要性在于它能够处理多种数据源,包括MySQL、Oracle、HDFS、Hive、Kafka、Solr、ElasticSearch、Redis、API和Web等,而每个用户对这些资源的访问权限都有所不同。 传统的权限控制方式通常涉及...
Nutch2.3.1是Apache Nutch的一个稳定版本,它是一个开源的网络爬虫框架,主要用于抓取、解析和索引互联网上的网页内容。在本文中,我们将深入探讨如何搭建Nutch2.3.1的运行环境,以便进行网页抓取和分析。 **一、...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON文件通常包含键值对,便于数据组织和传输。 以下是对各类型数据库的一般性解释: 1. **关系型...
3. **技术指标解析**: - 低通滤波器的关键参数是f_p(通带截止频率)和f_s(阻带截止频率),以及通带和阻带的衰减。例如,实验中给定的f_p = 100 Hz,f_s = 300 Hz,α_p = 3 dB,α_s = 20 dB。 - 这些参数必须...
- `sunburnt`:这是SOLR的Python客户端,但在示例中未使用,可能是一个遗留的导入。 - `urllib`:通常用于URL处理,但在这里未使用。 - `Connection`、`ObjectId`:分别从`pymongo`的子模块`pymongo`和`bson....
- **XML处理工具**:如DOM4J、JDOM,用于解析XML文档。 - **缓存管理**:如EhCache,用于提高应用性能。 - **报表工具**:如JasperReports,用于数据报表生成。 - **测试工具**:如dbUnit,用于单元测试数据准备...
- 利用Solr、Elasticsearch等分布式搜索引擎。 - 分布式架构可以有效提高系统的扩展性和可用性。 **6.6 本章小结** - 本章详细介绍了如何使用Lucene创建和管理索引库,包括索引库的设计、创建...