mysql - Lucene、Sphinx(或任何其他引擎)可以索引二进制数据吗?

标签 mysql solr lucene sphinx

我已经有一个基于 Sql Server 2008 的应用程序在生产中,我通过存储二进制文件(连同文件扩展名)使用全文搜索。这意味着同一列可以存储 doc、xls、pdf、docx...等。我选择了这种方法(知道插入成本很高),因为我有各种可以上传的文件,我不想碰到从各种类型的文件(xls、xlsx、doc、docx、pdf 等)转换文本的疯狂行为。此外,我不知道有任何免费工具可以为我做到这一点。我不想使用文件系统,因为那样不安全且维护成本高。

Now am looking for the ease (or difficulty) to move to mysql. Do have some options of full text search in mysql For ex: MySql Full text search (which does not index binary), Sphinx and Solr.

我找到了这个 Question ,这是最接近我需要的...虽然我猜 Sphinx 不索引二进制数据...但是,通过使用 SphinxSE 我可以查询 mysql 表和 Sphinx 以获得相关的结果集(在同一连接中)。我希望理解是正确的。但我不确定性能。 有人可以添加更多见解吗?

据我所知...将 Lucene 与 Mysql 集成很困难。

My need is to fetch ranked results based on criterion which can be structured (stored in RDBMS) and unstructured (textual dats which shall be indexed).

此外,是否还有其他选项看起来更适合我给定的情况。

最佳答案

看看 ElasticSearch(像 Solr 一样在引擎盖下使用 lucene)我认为它可以满足您的要求我不需要文档索引,所以没有尝试过。

更多信息请看这里

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-attachment-type.html

它使用 Apache Tika 将文档转换为可索引的内容(与 SQL 服务器使用 IFilter 插件所做的相同)

关于mysql - Lucene、Sphinx(或任何其他引擎)可以索引二进制数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19160109/

相关文章:

php - mysql查询显示表中的所有内容,但不显示某个单词

elasticsearch - 富文本文件的本地索引

solr - 在Solr中存储阵列

lucene - 我应该使用什么分析器来分析 lucene.net 中的 URL?

java - 如何仅标记 Lucene 中的某些单词

mysql - 为什么这个 SUM 没有给出预期的结果?

mysql - 在 Ado.Net 更新中事务为 "Concurrency violation"

mongodb - 从MongoDB到Elasticsearch的多语言文本搜索

mysql - 需要在没有 UNION 的情况下获得期望的结果