学习日志---打造搜索引擎搜索提示

打包过程

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都做网站、临邑网络推广、成都微信小程序、临邑网络营销、临邑企业策划、临邑品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供临邑建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

将网站程序打成war包,使用clean package;

将war包放到服务器的tomcat上的webapps中;

在conf的目录下更改server.xml文件:

加上如下编码,更改编码方式,防止乱码

URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
               connectionTimeout="20000"
               redirectPort="8443" />

logs目录下有tomcat的访问记录,如下:

[root@hadoop11 logs]# ls
catalina.2015-08-14.log  host-manager.2015-08-14.log  localhost_access_log.2015-08-14.txt
catalina.out             localhost.2015-08-14.log     manager.2015-08-14.log
localhost_access_log.2015-08-14.txt

这个是记录的访问,里面有输入的记录值,用于分析。

为了方便统计,要改server.xml里的,修改的是日志文件,如下:

 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="hadoop11_access_log." suffix=".txt" fileDateFormat="yyyy-MM-dd-HH-mm"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

prefix是前缀,suffix是后缀,fileDataFormat是频率


使用ajax触发异步请求,如下:

使用的是jquery的autocomplete的插件,会在后台向uri发送请求,服务器会返回一个json结构数据的信息到前台,在页面上展示。

<script type="text/javascript">
    $(document).ready(function(){
        $("#query").autocomplete({
            source : function(request, response){
                $.ajax({
                    //这里是请求服务器的处理类
                    url : "http://hadoop11:8080/web/suggest.do",
                    //这里的dataType是response回来的数据结构 
                    dataType : "json",
                    //data是传送过去的数据
                    data : {
                        query : $("#query").val()
                    },
                    //响应成功的话就success
                    success : function(data){
                        //这里找的是action里的类,类里面的result属性,是一个set集合
                        //这里返回的是一个集合,以json的结构返回
                        //struts2里,加入到值栈的对象,会先对属性做get赋值,再执行要求的方法
                        response($.map(data.result, function(item){
                            return {value:item}
                        }));
                    }
                });
            },
            minLength:1,
        });
    });

</script>
public class SearchAction extends ActionSupport {
    String text;
    String query;

    Set<String> result;
    
    public Set<String> getResult() {
        //this.result = redisTool.zrevrange(query, 0, 5);
        result = new HashSet<String>();
        result.add("aaa");
        result.add("子");
        return result;
    }
    。。。。。。
    。。。。。

这里的类对应上面的result。

需要的脚本

<script type="text/javascript"
    src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>

ui又依赖于:

<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

在使用redis时,使用sort排列来插入索引;

hGetAll 键,这个是列出该键下的所有值。

通过query传过去一个值:由redis去查询后返回一个set集合。

public static Set<String> zrevrange(String text, int i, int j) {
        // TODO Auto-generated method stub
        try{
            CreateJedisObj();
            //hadoop_users
            
            return jedis.zrevrange(text, 0, 5);
            
            }catch(Exception e){
                e.printStackTrace();
                jedis = null;
                return null;
            }
    }

redis的操作可以熟悉下。

在实际开发中,redis数据库的更新可以逐个更新,在reduce的过程中去删除redis原有的数据记录。

当前题目:学习日志---打造搜索引擎搜索提示
网页链接:https://www.cdcxhl.com/article42/jisgec.html

成都网站建设公司_创新互联,为您提供网站收录网站导航服务器托管品牌网站制作用户体验App开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站