我们正在创造一个开放源 Twitter的客户 和寻找一个嵌入的数据库的 最小的可能 适用德尔菲,这本身很好 全文搜索 (我知道不会有小型的非常好).理想情况下应当免费或开放源码过(苛刻我知道)。

我倾向 源码, 但是我没有用过它之前并不知道如果它支持全文检索,或者以及它如何适用德尔菲.我用 DBISAM 之前,它是嵌入式全文搜索,但不是免费的。 火鸟 是的另一个选项我们考虑。

有可能结合,使得这项工作。你会怎么使用,以及它如何率1)占用,2)全文搜索、3)免费/开源。

更新: 感谢大家的建议。因此,许多良好的选择,以供选择。

有帮助吗?

解决方案

我已经使用了很多成功的 DiSQLite 。它具有FTS支持和大量的其他功能。他们有一个免费版和专业版。我相信免费版本确实FTS为好。我试过很多SQLite的实现德尔福的,这是我见过的最好的一个。它直接编译到应用程序中,所以没有外部DLL。

我在很多的免费图书馆的看着外面在德尔福嵌入式数据库和许多不支持了,从来没有得到释放,或只在Delphi5工作。

其他提示

的Sybase 优势数据库服务器具有自由版权本地服务器发动机(多线程和记录级锁定),大的Delphi TDataSet的后续组件(包括源代码),和一个伟大的全文搜索引擎。

优势全文搜索支持AND,OR,NOT和NEAR运算符。优点还提供SCORE和SCOREDISTINCT标量函数,其返回字的所有实例的总计数中的搜索条件。

优势全文索引都维持在创纪录的更新时间,这意味着它们不需要任何重建。该指数是在一个压缩格式;因此实际的索引的大小可以比物理数据小得多。它可以在非索引数据进行全文搜索,但是这需要记录数据的物理搜索和可慢得多。索引的搜索使用的位图的过滤器以获得最佳性能。

在线帮助有所有细节尽可能索引选项等:

http://tinyurl.com/ctjoqg

我知道火鸟有狮身人面像附加全文本搜索(虽然根据现场有它“远非真正的‘全文搜索’”),其自由/开源,但我不能找到任何信息,也就是说,当它与火鸟的嵌入式版本的作品。

有关火鸟全文搜索一下: http://www.firebirdfaq.org/faq328/

莱昂纳多。

我们已经整合到DotLucene我们内部基于德尔福的应用程序之一,使用的Hydra(迈克上工作,当时);如果这就是我们想追求的一个不错的选择,我相信我们可以提取并使其可重复使用的这个项目

使用的 SQLite的继续前进。有很多关于德尔福免费源码组件。他们中有些人已不再是活动的项目。不过需要注意的一个组成部分是 ZeosDB 。 ZeosDB积极维护和它的sqlite的支持是完美也。如果您需要其他数据库引擎的支持,ZeosDB再次答案(它支持MySQL和PostgreSQL,Interbase的火鸟,MS SQL时,Sybase,Oracle和SQLite的)。

NexusDB具有自由嵌入版本当然它是一个本地的Delphi产物。

下面是它的一个描述的全文搜索实现

我建议DBISAM,或现在可能是他们的新ElevateDB,应重点考虑。从以前的经验,我希望你知道它并没有太大的大小可执行文件添加,是相当快速,可靠,完善的基础德尔福的解决方案,并具有出色的支持。多年来,他们的SQL方言已得到改进,因此现在很不错的高程度的ANSI SQL的2003年合规性。

DBISAM / ElevateDB是因为你注意不是开源的,但许可费用是每开发者只(不每次部署),所以如果有只有少数开发商所涉及的成本(在我看来)可以忽略不计。当你考虑的支持和响应,你得到DBISAM / Elevatesoft新闻组,那里的主要开发者/所有者(蒂姆·杨)还积极参与回答问题和解决问题的水平的许可费用是合理的特别。除了专有解决方案的成本,还有当然也超过了企业是否会生存,产品将继续发展,并在未来支持的关注。这是你必须权衡自己的东西,但发展似乎像以前一样强势。他们已经得到了.NET提供了他们的分贝的,并且支持跨平台的开发与FreePascal的/拉撒路。

一次加至DBISAM的全文检索是,它是紧密集成到SQL。也就是说,你可以发出直接结合普通的一个SELECT语句的WHERE与他人全文搜索条件的某些领域的标准。根据您的需求,这是一个很好的功能,使得它非常简单,快速地做一些事情,会使用不同的全文解决方案需要更多的工作。我想大多数附加解决方案,如Lucene和其他可能与火鸟使用,不作为密切与常规的SQL整合,并限制你取回一组的,只有全文条件的记录。像Textolution专有附加的火鸟( http://www.textolution.com/ftsib_example.asp )看起来像它可以容纳构建单一复合(嵌套)将应用于规则和标准全文查询,但DBISAM做它更优雅。和添加的专有附加到一个开源分贝那种失败的目的的去开源,无论如何。

DBISAM / ElevateDB的全文搜索的一个缺点,我认为,是仅支持使用“AND”和“OR”条件,没有任何接近的搜索。

我注意到,存在用于SQLite的, HTTP一个全文溶液:// WWW。 sqlite.org/cvstrac/wiki?p=FullTextIndex 。我没有使用过SQLite的,但我知道有很多人喜欢它。一个领域,我敢肯定DBISAM / Elevatesoft具有很大的优势是在需要强大的锁定功能的多用户应用程序,虽然不一定会携带任何重量在所有的单用户桌面应用程序。

我会去跟源码的使用 Aducom 源码组成部分,他们是容易的工作源码比DiSQLite、免费和工作TDataset组成,我将投票了对源码的,因为:

  1. 这是非常快速和紧凑的数据库。
  2. 非常小的足迹,就在200kb Dll。
  3. 它可以是联静时使用Aducom组件,因此不需要分发的dll。
  4. 它建立在支持全文搜索。
  5. 这是疯狂地使用和使用在很多免费和商业应用程序作为外部储存。
  6. 它拥有的多数标准SQL,所以大多数知识sql将被使用。

SQLite是只有非常单个用户/单个连接。做一个更新锁定整个数据库。您可以通过设置其他连接等待(默认为无超时)超时值处理这个。多用户访问可能会变得非常缓慢和/或给予经常超时取决于你用什么样的价值。

我已经从 http://www.aducom.com/ 使用的Asqlite组件。自由和开放源码。目前不被支持长相D2009,但它正在开发中。有许多其他部件组,以及,但我还没有使用的任何其它

您可以在 HTTP添加全文使用的Rubicon(现在根据新的管理搜索到任何Delphi应用程序:// WWW .href.com /鲁比肯)。然而,这不是自由:(

为什么你需要为这个全文搜索?我不使用Twitter,卜相信Twitter消息是140个字符最多?这将适合在一个varchar字段。你不需要全文检索找到的东西在这样一个领域。

还有DotLucene,这确实需要要安装的.NET框架,但可以通过.NET COM API来容易地装载。它非常适合于搜索和有一个查询格式,常见的大多数搜索引擎。

我在这里有一个半工作的Delphi溶液: http://sourceforge.net/projects/mutis/ 时,一个端口的Lucene的Delphi的。

它的mayority做工精细,但unfortunally是基于在死亡Delphi.NET执行这样requiere工作更新到本地一个(是的,是一个很大的错误采取.NET路线:()

DBISAM一路。作品,非常扎实,嵌入式,全文索引的伟大工程(广泛的个人经验!)

ElevateDB的概率也很大,但我与它没有直接的经验。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top