求助,需要从一个数据库里查找出特定信息,不知该怎么办,求高手指点

yangzi521 发布于 2011/06/22 08:39
阅读 1K+
收藏 0

比如:a和b两个文件,a中是一些编号,然后b(一个大的数据库)中是编号+信息

a文件里是这样的一些ID号:>PUT-163b-Triticum_aestivum-6668;

                                        >PUT-163b-Triticum_aestivum-101712;

b文件(数据库)是:

>PUT-163b-Triticum_aestivum-6668
TCGGCACGAGATCTGATCGATACGGGGTACGCCGAGGTTGACGAAGACTACTATGACAACAGTGGCAAATTTTGGGAGGAGCTGAGGGAAGAGTGGAACAAGATTGACTTCAGCCGCTTCCGCTTCGCCAGCAGCGAGGACGGGATCCTCCGTTATTCCGAAGAACTTGGGGATTTTATATGATGCTGCTGAGCCTAGCCGTTCAACATCATATCTGTCCCATCTATTCAAGCTTGTATGCAGCAAAGTTGGTTGGTTTCTTATTAGCTCGTTGTGCCCATCTGCCTTATTCACCTGTCCATGTTTATTATGTTGATACTGTGATCCATCTTATGTTGAACCTATGGTATGTGTTCGCCCGGCTCTGGTAAATTCGACGCCTATAATATAACTACAGTACAACTCTCTGCTTGCN
>PUT-163b-Triticum_aestivum-088558
CTCCTCCCTGTTGCAAATATCTTTCTTACTGGAGTATATTCTGTATCAGCATTTTTTGCACCATGTGCCGTTACAGCAGTTCCTCGTGAAGCGTAAAGAGAGGTTGACCCGCATGGGTCCATACCATCCCGGCGCCGCCACCGTCAGCAGCAACTCTCTTGGTGTGAAGAAGGAAGCGGAAGCAGCCTAGCTAGCTTCTGGGCTTAACTGATTAGCTTGATGTTCATTTGGTACTCTTGATTATTGATTATAGCTAATTGTTCTGGTGATTATCAGTGTATATTCATGTGTGTGGAAATGGAACCACTAGTGGTTGCACTAGTATAGATACTTCTTCTTTTTTGCGGGAAAGCACTAGTATAGATACGTGCAACAGAATTTGGTAGCGGTGGCTTAAGTTTGGTCAATGCGCTTTTCTACAGATGATTAATTTTGCATGCACTCATGCAAATGTATGTATGTATGTAACACTGTTTTTTATAAGGGGTAGATCATTTGTATCAATATAACTGTTCTGCCATATACC
>PUT-163b-Triticum_aestivum-101712
GGTACCTATACGTGAGCTTCAGTGCCGACTGAGCCGTAGTAGCCTAGCCTAGCTGACTCCCGCGATGAGCTGGTGGTGGGCGGGCGCGGTGGGCGCCGTCAAGAAGAGCCAGGACGAGCGCGCCGCGTCCTCCTTCCAGAGCGTCGCCCTCGTCGTCGGATCCACCGGCATCGTCGGCACCTCGCTCGTCGACATACTCCCGCGCCACGACACCCCCGGCGGGCCCTGGAAGGTGTACGCCGTCTCTCGTCGCCCGCTGCCTCCGTGGTCCCCGCCGCCCTCACCTGCCGTCACGCACCTGCACCTCGACCTGGCCGACCCTGTCGCCGTAGCGGAGGCCCTCACGCCGCTCACCGACATCACCCACGTCTTCTACGCCGCGTGGTCCAGCCACCCGACGGAGGCTCAGAACCGGGAGGCCAACTCCGCCATGCTCCGCAACATGCTCTCCGTCGTCGTCCCTGGCTGCCCCGCGCTCGCCCACGTCTGCCTCCAGACCGGCCGCAAGCACTACATCGGCCCGTACGAGGCTATCGGCAAGATCCCCATCCCAGACCCGCCGTACACCGAGGATATGCCCCGCCTGGATTACCCCAACTTCTACTACGACCAGGAGGACGTCCTCTTTGAGGAGGTCTCCCACCGCGACGGCGCCGTCAGCTGGTCTGTGCACCGTCCCTCCGTGGTCTTTGGGTTCTCTCCACGGAGCGCCATGAACGTCGTGGCCAGCCTGTGCGTCTATGCTGCCATCTGCCGCAAGGAGGGCGCTACGCTGAGGTGGCCTGGGACCAGGGTTGCCTGGGAGGGCTTCAGCGACGCCTCCGACGCGGATCTCCTCGCCGAGCAGGAGATCTGGGCAGCCGTCGATCCGTTGGCAAAGAACGAGCCTTTCAATTGCAGCAATGGAGATTTATACAAGTGGAAGCAGCTCTGGCCGATGGTGGCTGACCGATTCGGGGTGGAGTGGACGGGGTACGAGGGAGAGGACAGCCGGTTCATGCTCGCCGACGCCATGGCCGGGAAGGAGGCGGTGTGGGCAGAGATCCTCCAAGAGAACGAGCTTGTCACGACAGAGCTCCAAGAGATCGCCAATTGGTGGTTCCTTGATGCCGTGTTCAATGTCAAGAGTGAGCATCTGGATAGCATGAACAAGAGCAAGGAGCATGGATTCCTCGGATTCCGTAACACGGCTAAGTCCTTCAACGCATGGATTGATAAGATGAAGGCTTTGAAGATTGTTCCGTGATGTTTTTATTGTCCATATCTACTCCCTCCGTTCGGAATTACTTGTCACAAAAATGGATAAAAATGGATGTATCTACAACTAAAATACATCTAGATACATTCATTTCTTGGACAAGTAATTCCGAACGGAGGGAGTATTACTGTATTTACAGCATGCATGCTGCCGCATCCCATTTTCATTCTTTGAAGTTAGTTTCATTACATCATTTCTGCGTTTGGGTTTGGGAAGATGGTATAAT
>PUT-163b-Triticum_aestivum-86138
GAATACATCAACTCAATAGTGTGTCATTGGTTCATGCACTCATGTACTTGGCATCGAAAAATGTAGGGAACACTAAAAATCATTTTCTTACAATAGTATGAAATAAACATGGTAGTCCTCCATGAAAAAAAAAA
诸如这样的信息,我想从b里找出 a中ID号 所对应的号和信息,不知具体该怎么弄,恳求高手帮忙解决

加载中
0
红薯
红薯
到底是文件还是数据库呢?
0
y
yangzi521
哦  不好意思  我们是学生物的 所以这个数据库和您说的数据库不是一个意思  我说的这个数据库就是包含很多信息的一个大的文本文件
0
jianglibo
jianglibo
如果b文件中的内容是文本(也就是说可以在网页中显示),那么用apache solr建一个搜索库是非常理想的方式,每次只要输入a文件中的部分信息,就可以找到,并且速度非常的快。结合apache的camel可以很方便的和你现有的系统集成。
0
q
qinxubao

这个没什么难度吧,看来你不是程序员哦,对程序员来说很简单的问题

最笨的办法可以做字符串匹配,包含关系判断来查找,java,c++都可以做

0
浪客Dandy
浪客Dandy

B里的ID和信息是连在一起的么

你直接一行一行的读取B文件,根据key=id value=信息 放到hashmap里 就可以根据key来检索了

至于怎么分离ID和信息,要不根据空格 要不根据换行 要不用正则表达式,应该都很简单

0
穿衣服比较麻烦
穿衣服比较麻烦

B文件过大的话,可分块读取,在结合一定的算法。

不过建议用SOLR建立索引,词库对你来说也很单一。

返回顶部
顶部