能具体讲讲吗?
全文搜索是怎么回事,基于什么算法的?
怎么实现的,有类和API什么的吗?

解决方案 »

  1.   

    很明显,全文搜索的设计思路和你的需求几乎是一样的。全文搜索的方式就是将文本进行分词,取出不同的关键词并建立关键词表。在关键词表上建立索引。然后对用户的查询也进行分词,通过关键词对索引查询,得到所需要的文章。对于你的应用来说,文件名应该可以理解为文本信息。而我对于需要在文本信息中进行模糊查找的建议一律都是全文。因为这将是最好的方案。至于算法,说起来太复杂了……现在能用的免费全文引擎有不少,比如说lucene(apache.org)。http://jakarta.apache.org/lucene/docs/index.html
      

  2.   

    建立关键字索引。
         将共享文件列表信息发送到服务器,服务器接受文件列表并保存(包括用户IP地址)。然后对每一条文件信息进行解析,将文件名提取关键字,并将关键字插入到关键字索引中,同时保留关键字索引与文件列表的对应关系。
         这个思路参考了全文索引的一些思想。
    建立索引缓存。
         由于实际软件运行时,大部分的搜索都是针对少数的关键字进行的,所以考虑建立一个小容量的缓存,保存查询频率比较高的关键字索引,同时采用LRU算法进行替换。
         这个参考了Cache的一些思想。不一定能够实现。
    搜索按照文件类型进行。
         用户提交共享文件信息,以及服务器接受共享文件信息时,保存每个文件的类型信息。在搜索时,按照指定的类型(可以指定所有类型)进行搜索。
      

  3.   

    大家说的都很有道理,wlf7777(最后的夕阳)说的跟我想的差不多。
    三个方面:建立关键字索引;建立索引缓存;搜索按照文件类型进行。希望能都更多更好的建议!
    谢谢!
      

  4.   

    全文搜索,可以去google去搜索一下