当前位置: 技术问答>java相关
高分求救:怎样用java实现全文检索(主要是对文本文件)?100必送
来源: 互联网 发布时间:2015-10-18
本文导语: 高分求救:怎样用java实现全文检索(主要是对文本文件)?100必送 | File file=new File("yourfilename"); int ch; FileInputStream in=new FileInputStream(file); ch=in.read; String content=""; while(ch!=-1) { content+=(char)c...
高分求救:怎样用java实现全文检索(主要是对文本文件)?100必送
|
File file=new File("yourfilename");
int ch;
FileInputStream in=new FileInputStream(file);
ch=in.read;
String content="";
while(ch!=-1)
{
content+=(char)ch;
}
//if you want to search "your name"
int pos=content.indexOf("your name");
//pos is the position of "your name" in file
int ch;
FileInputStream in=new FileInputStream(file);
ch=in.read;
String content="";
while(ch!=-1)
{
content+=(char)ch;
}
//if you want to search "your name"
int pos=content.indexOf("your name");
//pos is the position of "your name" in file
|
递归调用
并且用JAVA提供的过滤类进行
并且用JAVA提供的过滤类进行
|
你还想怎么着
必然要所有地方都搜索到的,我还想把整个文件当一个字符串来搜呢
必然要所有地方都搜索到的,我还想把整个文件当一个字符串来搜呢
|
这样是否太慢了?如果是对空间很大的一片空间,对下面的所有文件进行全文检索,那怎处理呀?
你只有在处理的过程中加些优化了.
检索吗!!没办法了!!
我以前做的也都很慢(指大的检索)
你只有在处理的过程中加些优化了.
检索吗!!没办法了!!
我以前做的也都很慢(指大的检索)
|
英文的全文检索与中文有根本不同。
英文的以单词为单位进行检索,比较容易,以空格为界。
而中文的检索要解决语意问题。字与字之间没有空格。
英文的以单词为单位进行检索,比较容易,以空格为界。
而中文的检索要解决语意问题。字与字之间没有空格。
|
如果是固定文件应该不慢.如果是动态文件,可以放在Buffer中.
|
好像有专门的算法,以前买过一本叫《java算法》里面就有相关算法,但我觉得那算法好像是错的。不知道谁看过没有。
|
时间肯定是要耗费的,看你把时间花在什么时候,你可以在添加/新建文件的时候,更新索引,则查询就不费时间,要不查询就费时间。
至于算法,可参考相关资料,也可使用现成的模块
至于算法,可参考相关资料,也可使用现成的模块
|
选择管理,让后给分,结贴,记得给我点,我可帮大忙结贴了,呵呵