有多个英文文本文件(文件名也都是英文,形式为filename.txt),另给出search.txt文件中的每一行为一个检索请求.
每个检索请求可能为一个或者多个英文单词, 单词间以空格分隔. 根据每行的检索请求查找出这些单词都在那些文本文件中存在. 并输出至result.txt. 性能将是考虑因素.1. 实现的检索引擎仅支持英文,且严格区分大小写,中文及任何非英文字符均为非正常字符.
2. 一个检索请求中多个单词代表"AND", 当被检索文件中包含全部请求中的单词时才能被认为满足检索条件.
3. 各个检索请求为独立存在, 相互之间没有关系.
4. 待检索的英文文本文件集中放在c:\text\src下;检索请求文件search.txt及检索结果result.txt放在c:\text下。
要求: 
1)将检索结果输出至result.txt中
2)search.txt中的每个检索请求在result.txt中将会有一行结果,多个文件使用";"分隔文件名,且文件名按字母顺序排序;如果没有找到,则输出“no result found”
3)输入结果每行中不要有多余的其它字符,每行以回车结束。
格式示例:search.txt
hello
hello world
search text
a fox jumpresult.txt
hello:a.txt;b.txt;re.txt
hello world:no result found
search text:a.txt;b.txt
a fox jump:fox.txt
望大侠们能给出个效率较高的方案!请附带全代码,谢谢!

解决方案 »

  1.   

    Compass 基于 Lucene 的全文检索。
      

  2.   

    鉴于Java板块最近出现一些,只申请小号,小号问完问题不结贴的人大量涌现,以至于Java板块兄弟分数明显低于其他板块。

    楼主将联系方式留到我空间,此贴结贴后我将发上本身的Lucene全文检索例子
    分我可以不要,但你要结贴分要送出去)。
      

  3.   

    Lucene 本来就可以对文件及数据库表进行检索 , 我说的是搜索引擎,至于搜索到了以后你愿意写文件就写文件愿意显示就显示。难道字符搜索的比对你要用正则 ? 开玩笑.....