【发布时间】:2011-01-17 03:31:19
【问题描述】:
我正在做一些语言研究,这取决于能够查询 1 亿个句子的语料库。我需要从该语料库中获得的信息大致如下:有多少句子有“john”作为第一个词,“went”作为第二个词,“hospital”作为第五个词......等等所以我只需要 count 并且不需要实际检索句子。
我的想法是将这些句子分成单词并将它们存储到数据库中,其中的列将是位置(word-1、word-2、word-3..etc),句子将是行。所以它看起来像:
Word1 Word2 Word3 Word4 Word5 ....
国会批准了一项新法案
约翰去上学了
.....
然后我的目的将通过调用 COUNT(SELECT * where Word1=John and Word4=school) 来实现。但我想知道:使用 Lucene(或其他工具)可以更好地实现这一点吗?
我正在编写的程序(用 Java 编写)将对该 1 亿个句子语料库进行数以万计的此类查询。所以查找速度很重要。
感谢您的建议,
阿纳斯
【问题讨论】:
标签: java database lucene lookup performance