【问题标题】:Sphinx and Big Data狮身人面像和大数据
【发布时间】:2015-10-07 22:41:12
【问题描述】:

我想使用全文搜索引擎,我决定成为 Sphinx。但我正在使用 hadoop 和大数据平台,Sphinx Search 与无法处理大数据的 mysql DB 兼容。

那么有没有办法将 Sphinx 与 hadoop 或 HDFS 或任何其他 nosql 数据库等大数据环境一起使用?

【问题讨论】:

    标签: mysql mongodb hadoop hdfs sphinx


    【解决方案1】:

    它带有用于从 RDBMS 加载数据的内置驱动程序,但当然不限于此。

    对于初学者来说,有“管道”索引选项...

    http://sphinxsearch.com/docs/current.html#xmlpipe2 http://sphinxsearch.com/docs/current.html#xsvpipe

    这些只是运行一个脚本并索引输出。该脚本可以从几乎任何可以想象的系统中获取数据。

    很多项目都可以用来入门,随机示例: https://github.com/georgepsarakis/mongodb-sphinx

    您也许还可以直接从 hadoop 获取 CSV 输出?

    还有实时索引。将数据直接插入到索引中的位置。不是 Hadoop 专家,但理论上,可以让 hadoop 项目将结果直接注入 sphinx(outputcommitter?),而不是(或除此之外)将结果写入 HDFS。 http://sphinxsearch.com/docs/current.html#rt-indexes

    也许还可以使用类似的东西 https://www.percona.com/blog/2014/06/02/using-infinidb-engine-mysql-hadoop-cluster-data-analytics/ 作为 hadoop 和 sphinx 之间的桥梁。 (即 sphinx'es 索引器通过假 mysql 引擎创建索引)

    【讨论】:

    • 那么我可以在 HDFS 中存储 TSV 或 JSON 文件并在 sphinx 中对其进行索引吗?我该怎么做?
    • 可能最简单的是一个小脚本,它枚举文件并输出它们的内容。这在 TSVpipe 脚本中使用。 (我认为还没有 JSON 流索引器,因此需要将 JSON 转换为脚本中的其他内容。
    • 这没什么大不了的,但问题是我可以使用 Sphinx 索引存储在 HDFS 中的 TSV 文件吗?
    • 斯芬克斯本身做不到。但它只需要编写一个小脚本即可。从概念上讲,它只是find /mnt/hdfs -name "*.tsv" | xargs cat - 如果您可以通过文件系统读取hdfs。然后在索引定义中使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多