Database design 企业搜索:有人开发过FAST ESP吗?你觉得怎么样?

Database design 企业搜索:有人开发过FAST ESP吗?你觉得怎么样?,database-design,search,enterprise,feedback,fast-esp,Database Design,Search,Enterprise,Feedback,Fast Esp,我为一家斯堪的纳维亚黄页公司工作。该公司正在考虑将其定制搜索技术转移到FAST ESP 像所有安装相对较少的大型、昂贵系统一样,很难获得关于系统优缺点的反馈 是否有任何stackoverflowers拥有快速ESP经验并希望与大家分享 :)我是一名搜索架构师,自1997年我担任Lycos软件工程师以来一直在开发和集成搜索引擎技术 我们使用快速ESP作为搜索引擎。我从2003年开始从事ESP工作(当时称为FDS3.2) FAST ESP非常灵活,可以处理多种文档类型(html、pdf、word等)

我为一家斯堪的纳维亚黄页公司工作。该公司正在考虑将其定制搜索技术转移到FAST ESP

像所有安装相对较少的大型、昂贵系统一样,很难获得关于系统优缺点的反馈

是否有任何stackoverflowers拥有快速ESP经验并希望与大家分享

:)我是一名搜索架构师,自1997年我担任Lycos软件工程师以来一直在开发和集成搜索引擎技术

我们使用快速ESP作为搜索引擎。我从2003年开始从事ESP工作(当时称为FDS3.2)

FAST ESP非常灵活,可以处理多种文档类型(html、pdf、word等)的索引。它有一个非常健壮的web文档爬虫,您可以使用它们的中间FastXML格式将自定义文档格式加载到系统中,或者使用它们的内容API

我最喜欢的引擎部分之一是它的文档处理管道,它允许您使用几十个现成的处理插件,以及使用Python API编写自己的自定义文档处理阶段。我们编写的自定义阶段的一个示例是,查看网站URL并尝试识别它所属的公司,以便将其他元数据附加到web文档

它有一个用几种流行语言(C++/C#/Java)编写的非常健壮的编程/集成SDK,用于添加内容、执行查询、获取系统状态和管理集群服务

ESP有一种称为快速查询语言(FQL)的查询语言,它非常健壮,允许您执行基本的布尔搜索(and、OR、NOT)以及短语和术语近似搜索。除此之外,它还有一种称为“范围搜索”的功能,可用于搜索文档元数据(XML),该元数据的格式因文档而异

就性能而言,它的扩展相当线性。如果您对它进行基准测试以确定它在一台机器上的性能,如果您添加另一台机器,它通常可以使性能加倍。您可以在一台机器上运行系统(仅推荐用于开发),也可以在多台机器上运行系统(用于生产)。它是容错的(如果您的一个负载平衡索引脱机,它仍然可以提供一些结果),并且它具有完全的故障转移支持(一个或多个关键机器可能会死亡或脱机进行维护,系统将继续正常工作)

所以,它非常强大。现在的文档非常好。那么,你会问,缺点是什么

好吧,如果您需要使可搜索的数据具有频繁更改的格式,那可能会很痛苦。ESP有一个叫做“索引配置文件”的东西,它基本上是一个配置文件,它用来确定哪些文档字段是重要的,应该用于索引。输入ESP的所有内容都是“文档”,即使您正在将数据库表行加载到其中。每个文档都有几个字段,典型的字段有:标题、正文、关键字、标题、文档向量、处理时间等。您可以根据需要指定任意数量的自定义字段

如果您的内容保持大致相同的格式(如web文档),这不是一个大问题。但是,如果您必须对哪些字段应该编制索引以及如何处理这些字段进行重大更改,则可能需要编辑索引配置文件。对索引配置文件的一些更改是“热更新”,这意味着您可以进行更改而不中断服务。但是,一些更大的更改是“冷更新”,在更改生效之前,需要完整的数据重新提供和索引。根据数据集的大小和集群中的计算机数量,此操作可能需要数小时或数天。在生产系统执行冷更新和重新加载数据时,如果您没有足够的现金购买额外的硬件,那么冷更新是一件很难安排的事情。每年必须在生产集群上执行一次或两次以上的操作,这需要大量的计划才能在最少或0%的停机时间内完成

对于您的情况,我怀疑您的数据格式会经常更改。如果需要对其进行细微调整,可以向作用域字段添加额外的元数据,以避免执行任何完整数据重新加载的需要

您可能会遇到的大多数问题是使用该产品的初始学习曲线。一旦您得到一个开发集群(或节点)来做您想要做的事情,并且如果不需要频繁地对索引字段配置进行重大更改,它将是一个非常稳定和可靠的搜索引擎。对于您的应用程序来说,这似乎是一个很好的匹配,对于较小的公司或初创公司来说,如果您不需要太多的性能或耐用性,那么有一些开放源代码的选项,这些选项在前期并不那么昂贵

我希望此评估对您有所帮助。:)

真诚地, 迈克尔·麦金托什
高级搜索架构师@TnR Global

快速ESP技术是可靠的,但您需要记住,它实际上是一个搜索平台(因此称为“ESP”),而不是现成的搜索体验。结果的质量与索引的质量直接相关,这意味着您确实需要为内容调整文档处理管道和索引配置文件


这方面没有硬性规定;您确实需要了解平台和内容。这确实需要时间和大量的尝试和错误。而且,它需要大量的资源,所以你不能吝啬于硬件。如果您有足够的时间和资源来做好这项工作,它将非常有效,但半途而废的工作不会比开箱即用甚至Lucene更好(甚至可能更糟)。

我正在为一些公司内部网站(大公司)实施FAST ESP。我在搜索技术方面做过一些工作(90年代后期的Verity)

幸运的是,我成功了
filetraverser -c <collection> -r <dir> -M -E -J $FASTSEARCH/etc/filetraverser/aclplugin.xml