1

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

现在正在寻找迁移到 mysql 的难易程度(或难度)。在 mysql 中确实有一些全文搜索选项 例如:MySql 全文搜索(不索引二进制文件)、Sphinx 和 Solr。

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

我所听到的... 将 Lucene 与 Mysql 集成起来很困难。

我的需要是根据可以结构化(存储在 RDBMS 中)和非结构化(应被索引的文本数据)的标准来获取排名结果。

另外,在我的特定情况下,是否还有其他选项看起来更合适。

4

1 回答 1

1

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

请参阅此处以获取更多信息

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

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

于 2013-10-03T14:49:02.677 回答