设为首页 收藏本站
查看: 1360|回复: 0

[经验分享] 社区全文检索引擎Hyper Estraier 学习笔记[4]

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-4 13:56:43 | 显示全部楼层 |阅读模式
如何搭建一个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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-160090-1-1.html 上篇帖子: 给win8的hyper-v虚拟机增加硬盘 下篇帖子: 在VMware workstation 9.0中安装Windows server 2012 和 Hyper-v
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表