如何搭建一个Web界面的搜索界面
现在我的硬盘上有Linux帮助,php中文文档,mysql文档,C函数手册等文档等,它们一共有500M.
我需要一个索引工具。但是明显在命令行不是太方便。因为这些文档全是HTML格式的,我需要用浏览器来打开它们查看。
我决定在本机架设一个apache,利用hyperestraier来进行索引,提供像Google/baidu那样的web界面。
这是我的操作步骤:
1 准备目录:
我在www目录下新建了两个目录,search/tool和search/search_doc目录,将属主改为apache(这是我的apache运行的用户名).
search/tool/用来放置hyperestraier的程序和索引数据库,search_doc/下放置原始的各种帮助文档。
2.索引帮助文档:
在search/tool/目录下:
1. estcmd create man_docs_db
2. find ../search_doc/ -name "*.html" -type f|estcmd gather -cl -fm -cm ./man_docs_db -
然后Hyperestraier就哗啦哗啦地索引这500多M的文要资料。很快就索引完了。
3.进行CGI和estseek.cgi的相关设置。
我们将编译hyperestraier目录下产生的estseek.*复制到search_tool目录下,并修改apache的关于CGI的配置:
1. <Directory /home/y/www/search_tool/>
2. Options +ExecCGI
3. addHandler cgi-script cgi pl
4. </Directory>
现在search_tool目录下的estseek.cgi能被执行了.当然你得执行chmod a+x estseek.cgi或是chmod 0755 estseek.cgi给这个文件加上执行权屯限。
接着编辑search_tool目录下的estseek.conf文件:
1. indexname: man_docs_db
2. tmplfile: estseek.tmpl
3. topfile: estseek.top
4. helpfile: estseek.help
5. lockindex: true
6. pseudoindex:
7. replace: ^file:///home/y/www/search_doc/{{!}}/search_doc/
8. replace: /index\.html?${{!}}/
9. showlreal: false
10. deftitle: Hyper Estraier: a full-text search system for communities
11. formtype: normal
12. perpage: 10 100 10
13. attrselect: false
14. #genrecheck: private{{!}}private
15. #genrecheck: business{{!}}business
16. #genrecheck: misc{{!}}miscellaneous
17. attrwidth: 80
18. showscore: true
19. extattr: author|Author
20. extattr: from|From
21. extattr: to|To
22. extattr: cc|Cc
23. extattr: date|Date
24. snipwwidth: 480
25. sniphwidth: 96
26. snipawidth: 96
27. condgstep: 2
28. dotfidf: true
29. scancheck: 3
30. phraseform: 2
31. dispproxy:
32. candetail: true
33. candir: false
34. auxmin: 32
35. smlrvnum: 32
36. smlrtune: 16 1024 4096
37. clipview: 2
38. clipweight: none
39. relkeynum: 0
40. spcache:
41. wildmax: 256
42. qxpndcmd:
43. logfile:
44. logformat: {time}\t{REMOTE_ADDR}:{REMOTE_PORT}\t{cond}\t{hnum}\n
这里主要要修改indexname和replace.
说明:
indexname是你前面用estcmd create命令创建的索引数据库的名字.
replace可以多行,能对搜索结果中显示的文件路径做一个正则替换。因为索引入库的URL是file:///home/***类似
的路径,在web中显示出来没法访问。
好的,现在在search_tool/目录创建一个首页index.html,并给一个表单:
1. <form method="GET" action="estseek.cgi">
2. <div>
3. <input type="text" name="phrase" value="" size="32" />
4. <input type="submit" value="Search" />
5. <input type="hidden" name="enc" value="UTF-8" />
6. </div>
7. </form>
现在就可以通过http://localhost/search_tool/来搜索你的帮助文档了。
分享到:
相关推荐
1.Hyper Estraier是一个用C语言开发的全文检索引擎,他是由一位日本人开发的.工程注册在sourceforge.net(http://hyperestraier.sourceforge.net). 2.Hyper的特性: 高速度,高稳定性,高可扩展性…(这可都是有原因的,...
1.Hyper Estraier是一个用C语言开发的全文检索引擎,他是由一位曰本人开发的.工程注册在sourceforge.net(http://hyperestraier.sourceforge.net). 2.Hyper的特性: 高速度,高稳定性,高可扩展性…(这可都是有原因的,...
Hyper Estraier是一款开源的全文检索引擎,专为...通过深入研究Hyper Estraier的源代码,开发者不仅可以了解全文检索的基本原理,还能学习到高级的系统设计和优化技巧,这对于开发自己的搜索引擎或相关应用大有裨益。
内容索引:VC/C++源码,其它分类,HyperEstraier,全文检索 Hyper Estraier是一套基于C的全文检索引擎,这是它的C源代码,很散、很综合,需要有一定基础的人阅读,还牵扯到部分JAVA源码以及RUBY的相关代码,本程序曾是...
estraier是一个开源的、基于C++开发的全文搜索引擎,其设计目标是提供快速的全文索引和检索能力。它的主要特点包括: 1. **内存管理优化**:estraier使用内存映射文件(Memory-Mapped File)技术,将索引存储在磁盘...
**Estraier 开源全文搜索引擎** Estraier是一款强大的开源全文搜索引擎,专为个人和小型组织设计,适用于网站、本地文件系统以及邮箱等场景。它提供了高效、灵活且可扩展的搜索功能,使得用户能够快速查找和定位所...
首先,Remora利用了Hyper Estraier,这是一个开源全文搜索引擎。Hyper Estraier以其高效、快速和轻量级的特性而闻名,特别适合资源有限的移动设备。它能够快速索引和检索大量文本数据,支持多种文件格式,并且在内存...