什么是最快/最流行的搜索技术

时间:2009-12-07 09:38:15

标签: database search indexing full-text-search

除了关系数据库搜索之外,最快的搜索技术是什么?

我收集了各种来源的文本文件(银行/分类帐/股票市场)。这些文本文件中的每一行都是一个记录。每行可以进一步解析为一些DB列(库存名称/购买日期/所有者/ ...)。每行都没有必要包含所有字段。如果某些文本没有计算任何字段,我会将其存储在单独的列(columnA)中。如果解析器根本找不到任何列,我只将该行存储在columnA中。

我比基于用户输入的数据库搜索。我发现在几百万条记录之后搜索变得缓慢。我想转移到文件系统或其他索引存储等替代存储。

您认为这种要求的最快存储技术是什么?

我目前正在使用SQLite DB。由于我即将重写整个代码,如果任何其他存储技术能够给我更快的结果,我将非常高兴。

2 个答案:

答案 0 :(得分:1)

  1. Apache Lucene是一个 高性能,功能齐全的文字 搜索引擎库写的 完全用Java。这是一项技术 适用于几乎任何应用 这需要全文搜索, 特别是跨平台。
  2. Lucene.Ne t是源代码, class-per-class,API-per-API和 Java的算法端口 Lucene搜索引擎到C#和 利用Microsoft的.NET平台 .NET Framework。

答案 1 :(得分:0)

关系数据库在文本搜索方面并不出色。也许你可以尝试更适合像solr这样的任务的东西。也就是说,看起来你在SQLite中放了很多数据(为了你的目的,它可能有点“精简”)。如果您切换到MySQL或Postgres之类的东西,您可能会获得所需的速度,而无需进行大量重写。