zoukankan      html  css  js  c++  java
  • osc搜索引擎框架search-framework,TngouDB,gso,

    项目目的:OSChina 实现全文搜索的简单封装框架

    License: Public Domain

    包含内容:

    • 重建索引工具 -> IndexRebuilder.java

    • 增量构建索引工具 -> IndexUpdater.java

    • 全文搜索框架

    http://git.oschina.net/oschina/search-framework



    TngouDB

    背景

    TngouDB是天狗网(tngou.net)开发的中文搜索引擎数据库,用于天狗农业网的农业搜索引擎。 天狗希望基于开源的力量,把TngouDB打造成为一个专门的中文索引NoSQL数据库。

    简介

    TngouDB是基于JAVA而开发的跨平台数据库,底层采用Lucene(存储引擎)、IK(分词)、Netty(通信)等 而打造的网络数据库。

    TngouDB直接简化的Lucene的相关API的调用,使用SQL语句实现数据的CRUD操作。

    特点

    TngouDB可以脱离Lucene单机的现在,通过网络可以把TngouDB部署在单独的服务器上,单独处理存储于查询业务。TngouDb同

    时简化的Solr的复杂性,用户可以通过简单的SQL语句进行相关的数据操作。TngouDB可以完全抛开Lucene与Solr相关的知识,用常见 的SQL语句就可以实现。

    文档

    文档地址:http://www.tngou.net/doc/tndb 支持完整的安装、配置、使用文档。

    使用案例

    现在TngouDB暂且是内部测试版本,请先不用用于上线的项目!我们会不断的开发与更新,后期会发布相应的正式版本。

    现在TngouDB用于天狗网的搜索业务 天狗农搜(http://www.tngou.net/search

    http://git.oschina.net/397713572/TngouDB



    本项目为北大搜索引擎TSE的完整源代码(包括索引和爬虫两个独立项目的源代码),TSE 为《搜索引擎——原理、技术与系统》一书介绍的实现原型,有兴趣的朋友可以参考该书学 习TSE。

    《搜索引擎——原理、技术与系统》提供的源码下载地址http://sewm.pku.edu.cn/book/
    经常不能访问,这里我将以前下载学习的加入详细注释的源代码开放出来,不仅有注释的 源代码,还有一份详细的学习笔记—— CSDN博客专栏地址为:http://blog.csdn.net/column/details/inside-tse.html ,希望对入门的朋友有一些帮 助。

    目录说明:

    tse081227 —— TSE的网页搜集子系统(爬虫)。

    index —— TSE的预处理和查询服务子系统,该目录非常大,其实不是因为源代码大,而是         因为其中的 index/Data/Tianwang.raw.2559638448 非常大,该文件为爬虫爬     取的原始网页数据。

    另外,原始的 index/Data/Tianwang.raw.2559638448 文件有三百多兆,上传时提示超出 了 git.oschina.net/ 文件的最大限制(100M),所以将文件内容删掉了很多,为了得到 较小的文件,这个对于整个系统的运行没有任何影响,因为它只是爬取的原始网页数据, 可以多可以少。

    http://git.oschina.net/lewsn2008/LBTSE




    gso(Google So)

    这是一个用Node.JS编写的Google搜索服务,原理是拿着用户的关键词去Google服务器搜索,然后将返回的结果响应给用户。使用NodeJs编写的谷歌搜索代理程序

    查看演示项目主页

    关于证书的说明:文件列表中提供的证书仅为测试使用,在生产环境下需替换为你自己的证书


    部署

    安装:

    git clone https://git.oschina.net/lenbo/gso.gitcd gso
    npm install --production

    运行命令:

    测试/调试:

    npm startnode ./bin/run

    生产环境

    • 使用forever启动:
      forever start -e err.log -o output.log ./bin/run

    • 使用pm2启动:
      pm2 start ./bin/run -i max

    自定义设置

    站点名称

    设置站点名称后会在首页logo下,浏览器标题栏中显示。 修改conf/config.js文件, 找到name节点, 修改为自己的站点名:

    name: '谷搜客'

    统计脚本

    将脚本粘贴到views/partials/statistics.ejs文件中

    首页随机文字

    将文字粘贴到data/words.txt中,每句以一个空行分割, 支持html代码

    设置多个Google IP防止被屏蔽

    将可用的IP放入conf/ip.txt文件中,每个ip以一个回车换行分割.

    设置HTTP代理服务器

    有时,我们可能需要设置一个代理服务器,比如google的ip失效暂时无法使用或被google屏蔽的时候. 修改conf/config.js文件, 找到proxy节点:

    proxy: { 
          enable: false,  //设置是否启用      timeout: 5000,  //设置超时时间, enable为true时有效      host: '',  //代理服务器地址      port: 80  //代理服务器端口  }

    静态文件压缩

    clone后的代码是未压缩的,可以使用grunt工具进行压缩。

    压缩js,css文件

    1. 安装grunt工具: npm install -g grunt-cli

    2. 在项目根目录执行grunt static命令

    3. 修改conf/config.js中的r_prefix值为/public

    注:执行grunt命令前必须使用npm install安装依赖,而不是npm install --production

    html代码压缩

    启动服务前设置NODE_ENVproduction即可,如NODE_ENV=production forever start bin/run

    完成记录

    1. 增加“相关搜索”功能;

    2. OpenSearch, 支持IE,Firefox,Chrome设置为默认搜索引擎;

    3. 简单的敏感词检测,否则连接会被墙/连接重置;

    4. HTML代码压缩,基于html-minifier模块进行压缩已渲染好的HTML代码;

    5. headroom功能(当页面向下滚动时,搜索区消失,当页面向上滚动时,搜索区又出现了。个人觉得这个体验对小屏幕笔记本及pad比较好,尤其是手机终端);

    6. 实现HTTPS功能(关键词加密);

    7. 使用cheeio替代jQuery解析;

    8. 输入框自动完成;

    9. 搜索内容语言切换;

    10. 根据时间段筛选结果;

    11. 使用filetype指令搜索时,结果项前缀显示filetype;

    12. 支持设置多个Google IP(2014-12-25);

    13. 增加HTTP代理功能(2014-12-28);

    TODO

    1. [ ] Pad显示优化,字体优化;

    2. [ ] 优化手机端使用体验;

    3. [ ] 支持键盘快捷键;

    4. [ ] 支持维基百科检索;

    5. [ ] 优化错误日志记录;

    6. [ ] 支持视频元信息检索(同时检索可播放来源)

    7. [ ] 增加在线代理功能(代理搜索结果中出现的部分被屏蔽的网站);

    http://git.oschina.net/lenbo/gso




    代码是一年前写好的,所以爬虫可能已经失效,不过在此基础上改改应该就可以了。

    K:GITdianyingscripts>tree /f文件夹 PATH 列表卷序列号为 EE77-EC45K:.│  iqiyi_movie_test.py│  letv_movie_test.py│  m1905_movie_test.py│  pps_movie_test.py│  pptv_movie_test.py│  qq_movie_test.py│  sohu_movie_test.py│  tudou_movie_test.py│  xunlei_movie_test.py│  youku_movie_test.py│└─douban
            doubanapi_1.py
            doubanapi_2.py
            doubanapi_3.py
            doubanapi_xj.py
            douban_movie_test.py

    搜索网站

    dianying_web.py支持将爬虫保存到mongodb中的数十万条记录以WEB方式的形式展示,并支持关键字查询。

    http://git.oschina.net/awakenjoys/dianying


  • 相关阅读:
    lvs_基础理论
    iptables_表和链(Traversing of tables and chains)
    题解-【集训队作业2018】Simple Tree
    题解-CF559C
    题解-[Violet]天使玩偶/SJY摆棋子
    题解-[POI2014]PRZ-Criminals
    题解-CF961G
    题解-CF1392H
    WorldCreator基础流程
    gstreamer-vaapi 之 README
  • 原文地址:https://www.cnblogs.com/timssd/p/5150065.html
Copyright © 2011-2022 走看看