我已经有一个基于Sql Server 2008的应用程序正在生产中,通过存储二进制文件(以及文件扩展名)使用全文搜索。这意味着同一列可以存储doc,xls,pdf,docx等。我采用了这种方法(知道它会插入成本很高),因为我有各种文件可以上传,我不想碰到从文件的各种类型(xls,xlsx,doc,docx,pdf等)转换文本的疯狂。此外,我不知道任何可以为我做这个的免费工具。我不想使用文件系统,因为这样会不安全,维护成本也会很高。
现在正在寻找轻松(或难度)转移到mysql。在mysql中有一些全文搜索选项。例如:MySql全文 搜索(不对二进制索引),Sphinx和Solr。
我发现这个Question,它最接近我需要的东西......虽然我猜Sphinx没有索引二进制数据......但是,通过使用SphinxSE,我可以查询mysql表和Sphinx获取相关的结果集(在相同的连接中)。我希望理解是正确的。但我不确定表现。 有人可以添加更多洞察力吗?
我所听到的......将Lucene与Mysql集成很困难。
我需要根据可以结构化(存储在RDBMS中)和非结构化(文本节点)的标准来获取排名结果 应编入索引)。
此外,还有其他选项在我给定的情况下看起来更合适。
答案 0 :(得分:1)
看看ElasticSearch(像Solr一样使用lucene)我觉得它可能会做你需要的东西我不需要文档索引但是没试过它。
请参阅此处了解更多信息
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-attachment-type.html
它使用Apache Tika将文档转换为可索引的内容(与SQL服务器的IFilter插件相同)