带查询条件的实现原理:

  查询按钮被包在一个大表单,表单还有三个隐藏域,一个商品筛选,一个 价格,一个排序,每次点击查询时候清空三个隐藏域,就带着一个大条件去查询;点击下面的筛选条件时,给隐藏域的筛选条件赋值后带着大条件与筛选条件去查 询;筛选价格时候先给隐藏赋值,然后带着大条件,价格去查询,每次都要回显条件,即将用户输入的值回显到文本框。

 

SpringMVC.xml配置SolrServer

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">

        <!-- 扫描基本包  @Controller  @Service @Respostory -->
        <context:component-scan base-package="cn.qlq"/>
        <!-- 三大组件 -->
        <mvc:annotation-driven/>
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
        
        <!-- 配置SOlrJ -->
        <bean id="solrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
            <constructor-arg value="http://localhost:8080/solr/collection1"/>
        </bean>
        
 </beans>

 

DAO

功能:接收service层传递过来的参数,根据参数查询索引库,返回查询结果。

返回值:一个商品列表List<ProductModel>。

package cn.qlq.jd.dao;


import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrQuery.ORDER;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import cn.qlq.jd.pojo.ProductModel;


@Repository
public class JdDaoImpl implements JdDao {

    // 索引库
    @Autowired
    private SolrServer solrServer;

    //// 通过上面四个条件查询对象商品结果集
    public List<ProductModel> selectProductModelListByQuery(String queryString, String catalog_name,
            String price,String sort) throws Exception {

        // 查询 关键词  过滤条件
        // 价格排序 分页 开始行 每页数 高亮 默认域 只查询指定域
        SolrQuery solrQuery = new SolrQuery();
        // 关键词
        solrQuery.setQuery(queryString);
        // 过滤条件 
        if(null != catalog_name && !"".equals(catalog_name)){
            solrQuery.set("fq", "product_catalog_name:" + catalog_name);
        }
        if(null != price && !"".equals(price)){
            //0-9   50-*
            String[] p = price.split("-");
            solrQuery.set("fq", "product_price:[" + p[0] + " TO " + p[1] + "]");
        }
        // 价格排序
        if("1".equals(sort)){
            solrQuery.addSort("product_price", ORDER.desc);
        }else{
            solrQuery.addSort("product_price", ORDER.asc);
        }
        // 分页
        solrQuery.setStart(0);
        solrQuery.setRows(16);
        // 默认域
        solrQuery.set("df", "product_keywords");
        // 只查询指定域
        solrQuery.set("fl", "id,product_name,product_price,product_picture");
        // 高亮
        // 打开开关
        solrQuery.setHighlight(true);
        // 指定高亮域
        solrQuery.addHighlightField("product_name");
        // 前缀
        solrQuery.setHighlightSimplePre("<span style='color:red'>");
        solrQuery.setHighlightSimplePost("</span>");

        // 后缀
        // 执行查询
        QueryResponse response = solrServer.query(solrQuery);
        // 文档结果集
        SolrDocumentList docs = response.getResults();

        Map<String, Map<String, List<String>>> highlighting = response.getHighlighting();
        // Map K id V Map
        // Map K 域名 V List
        // List list.get(0)
        // 总条数
        long numFound = docs.getNumFound();
        
        
        List<ProductModel> productModels = new ArrayList<ProductModel>();
    
        for (SolrDocument doc : docs) {
            ProductModel productModel = new ProductModel();
            
            productModel.setPid((String) doc.get("id"));
            productModel.setPrice((Float) doc.get("product_price"));
            productModel.setPicture((String) doc.get("product_picture"));
            Map<String, List<String>> map = highlighting.get((String) doc.get("id"));
            List<String> list = map.get("product_name");
            
            productModel.setName(list.get(0));
            productModels.add(productModel);
        }
        return productModels;

    }
}

 Service

功能:调用dao层方法,查询商品列表。接收返回的商品列表和商品的总数量,根据每页显示的商品数量计算总页数。

参数:

1、查询条件:字符串

2、商品分类的过滤条件:商品的分类名称,字符串

3、商品价格区间:传递一个字符串,满足格式:“0-100、101-200、201-*”

4、排序条件:页面传递过来一个升序或者降序就可以,默认是价格排序。0:升序1:降序

5、分页信息:每页显示的记录条数创建一个常量60条。传递一个当前页码就可以了。

业务逻辑

1、根据参数创建查询对象

2、调用dao执行查询。

3、根据总记录数计算总页数。

package cn.qlq.jd.service;


import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.qlq.jd.dao.JdDao;
import cn.qlq.jd.pojo.ProductModel;


@Service
public class JdServiceImpl implements JdService {

    @Autowired
    private JdDao jdDao;
    //// 通过上面四个条件查询对象商品结果集
    public List<ProductModel> selectProductModelListByQuery(String queryString, String catalog_name,
            String price,String sort) throws Exception {
        
        return jdDao.selectProductModelListByQuery(queryString, catalog_name, price, sort);
        
    }
}

 

Controller

功能:接收页面传递过来的参数调用service查询商品列表。将查询结果返回给jsp页面,还需要查询参数的回显。

 

参数:

1、查询条件:字符串

2、商品分类的过滤条件:商品的分类名称,字符串

3、商品价格区间:传递一个字符串,满足格式:“0-100、101-200、201-*”

4、排序条件:页面传递过来一个升序或者降序就可以,默认是价格排序。0:升序1:降序

5、分页信息:每页显示的记录条数创建一个常量60条。传递一个当前页码就可以了。

6、Model:相当于request。

 

返回结果:String类型,就是一个jsp的名称。

package cn.qlq.jd.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.qlq.jd.pojo.ProductModel;
import cn.qlq.jd.service.JdService;

/**
 * 查询商品列表
 *
 */
@Controller
public class JdController {
    @Autowired
    private JdService jdService;

    // 商品列表
    @RequestMapping(value = "list.action")
    public String list(String queryString, String catalog_name, String price, String sort, Model model)
            throws Exception {
        // 通过上面四个条件查询对象商品结果集
        List<ProductModel> productModels = jdService.selectProductModelListByQuery(queryString, catalog_name, price,
                sort);
        model.addAttribute("productModels", productModels);
        // 查询条件回显
        model.addAttribute("queryString", queryString);
        model.addAttribute("catalog_name", catalog_name);
        model.addAttribute("price", price);
        model.addAttribute("sort", sort);

        return "product_list";
    }
}

 

 JSP页面

   添加一隐藏域(包含一个文本输入框与查询按钮,也包括三个隐藏域,用于存放小的查询条件,点击下面的时候将值填充到隐藏域并提交表单去查询)然后执行大的查询条件清空隐藏域,执行小条件带着前面输过的条件去查询。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<!-- saved from url=(0047)http://list.jd.com/list.html?cat=1315,1343,1355 -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="utf-8" http-equiv="charset">
<link rel="stylesheet" type="text/css"
    href="<c:url value='/resource'/>/base.css" media="all">
<link rel="stylesheet" type="text/css"
    href="<c:url value='/resource'/>/plist20131112.css" media="all">
<link rel="stylesheet" type="text/css"
    href="<c:url value='/resource'/>/list-page-20141009.css" media="all">
<link rel="stylesheet" type="text/css"
    href="<c:url value='/resource'/>/pop_compare.css" media="all">
<link rel="shortcut icon" type="image/ico"
    href="http://list.jd.com/favicon.ico">
<script type="text/javascript"
    src="<c:url value='/resource'/>/jquery-1.2.6.pack.js"></script>
<style id="style-1-cropbar-clipper">/* Copyright 2014 Evernote Corporation. All rights reserved. */
.en-markup-crop-options {
    top: 18px !important;
    left: 50% !important;
    margin-left: -100px !important;
    width: 200px !important;
    border: 2px rgba(255,255,255,.38) solid !important;
    border-radius: 4px !important;
}

.en-markup-crop-options div div:first-of-type {
    margin-left: 0px !important;
}
</style>
<script type="text/javascript">
    function query() {
        //执行关键词查询时清空过滤条件
        document.getElementById("catalog_name").value="";
        document.getElementById("price").value="";
        //执行查询
        queryList();
    }
    function queryList() {
        //提交表单
        document.getElementById("actionForm").submit();
    }
    function filter(key, value) {
        document.getElementById(key).value=value;
        //执行查询
        queryList();
    }
    function sort() {
        var s = document.getElementById("sort").value; 
        if (s != "1") {
            s = "1";
        } else {
            s = "0";
        }
        document.getElementById("sort").value = s;
        //执行查询
        queryList();
    }
</script>
</head>
<body class="root61">
<div id="shortcut-2013">
    <div class="w">
        <ul class="fl lh">
            <li class="fore1 ld"><b></b><a href="#" rel="nofollow">收藏京东</a></li>
        </ul>
        <ul class="fr lh">
            <li class="fore1" id="loginbar">您好,欢迎来到京东!<span><a href="#">[登录]</a> <a href="#" class="link-regist">[免费注册]</a></span></li>
            <li class="fore2 ld">
                <s></s>
                <a href="#" rel="nofollow">我的订单</a>
            </li>
            <li class="fore2-1 ld" id="jd-vip"><i></i>
                <i></i>
                <s></s>
                <a target="_blank" rel="nofollow" href="http://vip.jd.com/">会员俱乐部</a>
            </li>
            <li class="fore2-2 ld" id="jd-dakehu">        <i></i><s></s>        <a href="http://b.jd.com/" target="_blank" rel="nofollow">企业频道</a>    </li>
            <li class="fore3 ld menu" id="app-jd" data-widget="dropdown" clstag="homepage|keycount|home2013|01d"><s></s>
                <i></i>
                <span class="outline"></span>
                <span class="blank"></span>
                <a href="http://app.jd.com/" target="_blank">手机京东</a>
                <b></b>
            </li>
            <li class="fore4 ld menu" id="biz-service" data-widget="dropdown">
                <s></s>
                <span class="outline"></span>
                <span class="blank"></span>
                客户服务
                <b></b>
            </li>
            <li class="fore5 ld menu" id="site-nav" data-widget="dropdown">
                <s></s>
                <span class="outline"></span>
                <span class="blank"></span>
                网站导航
                <b></b>
            </li>
        </ul>
        <span class="clr"></span>
    </div>
</div><!--shortcut end-->
<div id="o-header-2013">
    <div class="w" id="header-2013">
        <div id="logo-2013" class="ld"><a href="http://www.jd.com/" hidefocus="true"><b></b><img src="<c:url value='/resource'/>/logo-201305.png" width="270" height="60" alt="京东"></a></div>
        <!--logo end-->
        <div id="search-2013">
            <div class="i-search ld">
                <ul id="shelper" class="hide"></ul>
                <form id="actionForm" action="list.action" method="POST">
                <div class="form">
                    <input type="text" class="text" accesskey="s" name="queryString" id="key" value="${queryString }"
                        autocomplete="off" onkeydown="javascript:if(event.keyCode==13) {query()}">
                    <input type="button" value="搜索" class="button" onclick="query()">
                </div>
                <input type="hidden" name="catalog_name" id="catalog_name" value="${catalog_name }"/> 
                <input type="hidden" name="price" id="price" value="${price }"/> 
                <input type="hidden" name="sort" id="sort" value="${sort }"/> 
                </form>
            </div>
            <div id="hotwords"></div>
        </div>
        <!--search end-->
        <div id="my360buy-2013">
            <dl>
                <dt class="ld"><s></s><a href="http://home.jd.com/">我的京东</a><b></b></dt>
                <dd>
                    <div class="loading-style1"><b></b>加载中,请稍候...</div>
                </dd>
            </dl>
        </div>
        <!--my360buy end-->
        <div id="settleup-2013">
            <dl>
                <dt class="ld"><s></s><span class="shopping"><span id="shopping-amount">0</span></span><a href="http://cart.jd.com/cart/cart.html" id="settleup-url">去购物车结算</a> <b></b> </dt>
                <dd>
                    <div class="prompt">
                        <div class="loading-style1"><b></b>加载中,请稍候...</div>
                    </div>
                </dd>
            </dl>
        </div>
        <!--settleup end-->
    </div>
    <!--header end-->
    <div class="w">
        <div id="nav-2013">
            <div id="categorys-2013" class="categorys-2014">
                <div class="mt ld">
                    <h2><a href="http://www.jd.com/allSort.aspx">全部商品分类<b></b></a></h2>
                </div>
            </div>
            <div id="treasure"></div>
            <ul id="navitems-2013">
                <li class="fore1" id="nav-home"><a href="http://www.jd.com/">首页</a></li>
                <li class="fore2" id="nav-fashion"><a href="http://fashion.jd.com/">服装城</a></li>
                <li class="fore3" id="nav-chaoshi"><a href="http://channel.jd.com/chaoshi.html">食品</a></li>
                <li class="fore4" id="nav-tuan"><a href="http://tuan.jd.com/" target="_blank">团购</a></li>
                <li class="fore5" id="nav-auction"><a href="http://auction.jd.com/">夺宝岛</a></li>
                <li class="fore6" id="nav-shan"><a href="http://red.jd.com/">闪购</a></li>
                <li class="fore7" id="nav-jinrong"><a href="http://jr.jd.com/" target="_blank">金融</a></li>
            </ul>
        </div>
    </div>
</div>
<div class="w">
    <div class="breadcrumb">
        <strong><a href="#">服饰内衣</a></strong><span>&nbsp;&gt;&nbsp;<a
            href="#">女装</a>&nbsp;&gt;&nbsp;<a href="#">T恤</a></span>
    </div>
</div>
<div class="w main">
<div class="right-extra">
<div id="select" clstag="thirdtype|keycount|thirdtype|select" class="m">
    <div class="mt">
        <h1>
            T恤 -<strong>&nbsp;商品筛选</strong>
        </h1>
    </div>
    <div class="mc attrs">
        <div data-id="100001" class="brand-attr">
            <div class="attr">
                <div class="a-key">商品类别:</div>
                <div class="a-values">
                    <div class="v-tabs">
                        <div class="tabcon">
                            <div>
                                <a href="javascript:filter('catalog_name', '幽默杂货')" >幽默杂货</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '时尚卫浴')">时尚卫浴</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '另类文体')">另类文体</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '创意相架')">创意相架</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '巧妙收纳')">巧妙收纳</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '与钟不同')">与钟不同</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '个性男人')">个性男人</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '电脑周边')">电脑周边</a>
                            </div>
                            <div>
                                <a href="javascript:filter('catalog_name', '品质家电')">品质家电</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '品味茶杯')">品味茶杯</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '四季用品')">四季用品</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '健康宝宝')">健康宝宝</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '新潮美容')">新潮美容</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '产品配件')">产品配件</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '雅致灯饰')">雅致灯饰</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '阳光车饰')">阳光车饰</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '趣味纸抽')">趣味纸抽</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '布艺毛绒')">布艺毛绒</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '益智手工')">益智手工</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '环保餐具')">环保餐具</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '闪亮匙扣')">闪亮匙扣</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '手机饰品')">手机饰品</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '精品数码')">精品数码</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '理财钱罐')">理财钱罐</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '美味厨房')">美味厨房</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '保健按摩')">保健按摩</a>
                            </div>                                              
                            <div>                                              
                                <a href="javascript:filter('catalog_name', '魅力女人')">魅力女人</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div data-id="100002" class="prop-attrs">
            <div class="attr">
                <div class="a-key">价格:</div>
                <div class="a-values">
                    <div class="v-fold">
                        <ul class="f-list">
                            <li><a href="javascript:filter('price','0-9')">0-9</a></li>
                            <li><a href="javascript:filter('price','10-19')">10-19</a></li>
                            <li><a href="javascript:filter('price','20-29')">20-29</a></li>
                            <li><a href="javascript:filter('price','30-39')">30-39</a></li>
                            <li><a href="javascript:filter('price','40-49')">40-49</a></li>
                            <li><a href="javascript:filter('price','50-*')">50以上</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div id="filter">
    <div class="cls"></div>
    <div class="fore1">
        <dl class="order">
            <dt>排序:</dt>
            <dd>
                <a href="javascript:sort()">价格</a><b></b>
            </dd>
        </dl>
        <dl class="activity">
            <dd></dd>
        </dl>
        <div class="pagin pagin-m">
            <span class="text"><i>1</i>/200</span>
            <a href="javascript:;" class="prev">上一页<b></b></a>
            <a href="javascript:;" class="next">下一页<b></b></a>
        </div>
        <div class="total">
            <span><strong>2000</strong>个商品
            </span>
        </div>
        <span class="clr"></span>
    </div>
</div>
<!--商品列表开始-->
<div id="plist" class="m plist-n7 plist-n8 prebuy">
    <ul class="list-h">
        <c:forEach var="item" items="${productModels }">
        <li pid="${item.pid }">
            <div class="lh-wrap">
                <div class="p-img">
                    <a target="_blank" href="#">
                        <img width="220" height="282" class="err-product" src="<c:url value='/images'/>/${item.picture}">
                    </a>
                </div>
                <div class="p-name">
                    <a target="_blank" href="#">${item.name }</a>
                </div>
                <div class="p-price">
                    <strong><fmt:formatNumber value="${item.price}" maxFractionDigits="2"/></strong><span id="p1269191543"></span>
                </div>
            </div>
        </li>
        </c:forEach>
    </ul>
</div>
<!--商品列表结束-->
</div>
<div class="left">
    <div id="sortlist" clstag="thirdtype|keycount|thirdtype|sortlist"
        class="m">
        <div class="mt">
            <h2>服饰内衣</h2>
        </div>
        <div class="mc">
            <div class="item current">
                <h3>
                    <b></b>女装
                </h3>
                <ul>
                    <li><a href="http://list.jd.com/1315-1343-1355.html">T恤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-1354.html">衬衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-1356.html">针织衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9713.html">雪纺衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9710.html">卫衣</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9714.html">马甲</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9719.html">连衣裙</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9720.html">半身裙</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9715.html">牛仔裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9717.html">休闲裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9716.html">打底裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9718.html">正装裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9711.html">小西装</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9712.html">短外套</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9708.html">风衣</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9706.html">毛呢大衣</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9707.html">真皮皮衣</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9705.html">棉服</a></li>
                    <li><a href="http://list.jd.com/1315-1343-3983.html">羽绒服</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9722.html">大码女装</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9721.html">中老年女装</a></li>
                    <li><a href="http://list.jd.com/1315-1343-9723.html">婚纱</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11985.html">打底衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11986.html">旗袍/唐装</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11987.html">加绒裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11988.html">吊带/背心</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11989.html">羊绒衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11991.html">短裤</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11993.html">皮草</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11996.html">礼服</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11998.html">仿皮皮衣</a></li>
                    <li><a href="http://list.jd.com/1315-1343-11999.html">羊毛衫</a></li>
                    <li><a href="http://list.jd.com/1315-1343-12000.html">设计师/潮牌</a></li>
                </ul>
            </div>
            <div class="item">
                <h3>
                    <b></b>男装
                </h3>
            </div>
            <div class="item">
                <h3>
                    <b></b>内衣
                </h3>
            </div>
            <div class="item">
                <h3>
                    <b></b>服饰配件
                </h3>
            </div>
        </div>
    </div>
    <div id="limitBuy">
        <div id="limitbuy9199"
            clstag="thirdtype|keycount|thirdtype|limitbuy536"
            class="m limitbuy hide">
            <div class="mt">
                <h2>服饰鞋帽</h2>
            </div>
            <div class="mc">
                <div id="clock9199" class="clock">正在加载…</div>
                <div id="limit9199"></div>
            </div>
        </div>
    </div>
    <div id="ad_left" reco_id="6" class="m m0 hide"></div>
    <!--用户最终购买-->
    <div id="finalbuy" class="hide m m0" style="display: block;">
        <div class="mt">
            <h2>
                浏览<font color="red">T恤</font>最终购买
            </h2>
        </div>
        <div class="mc">
        </div>
    </div>
    <div id="weekRank" clstag="thirdtype|keycount|thirdtype|mrank"
        class="m rank">
        <div class="mt">
            <h2>一周销量排行</h2>
        </div>
        <div class="mc">
        </div>
    </div>
</div><!--<div class="left">-->

<span class="clr"></span>
<div id="Collect_Tip" class="Tip360 w260"></div>

</div><!--<div class="w main">-->


<div class="w">
    <div id="service-2013">
        <dl class="fore1">
            <dt><b></b><strong>购物指南</strong></dt>
            <dd>
                <div><a href="http://help.jd.com/help/question-56.html" target="_blank" rel="nofollow">购物流程</a></div>
                <div><a href="http://help.jd.com/help/question-57.html" target="_blank" rel="nofollow">会员介绍</a></div>
                <div><a href="http://help.jd.com/help/question-181.html" target="_blank" rel="nofollow">团购/机票</a></div>
                <div><a href="http://help.jd.com/help/question-61.html" target="_blank" rel="nofollow">常见问题</a></div>
                <div><a href="http://help.jd.com/help/question-63.html" target="_blank" rel="nofollow">大家电</a></div>
                <div><a href="http://help.jd.com/index.html" target="_blank" rel="nofollow">联系客服</a></div>
            </dd>
        </dl>
        <dl class="fore2">
            <dt><b></b><strong>配送方式</strong></dt>
            <dd>
                <div><a href="http://help.jd.com/help/question-64.html" target="_blank" rel="nofollow">上门自提</a></div>
                <div><a href="http://help.jd.com/help/question-360.html" target="_blank" rel="nofollow">211限时达</a></div>
                <div><a href="http://help.jd.com/help/distribution-768.html" target="_blank" rel="nofollow">配送服务查询</a></div>
                <div><a href="http://help.jd.com/help/question-892.html#help2215" target="_blank" rel="nofollow">配送费收取标准</a></div>
                
                <div><a href="http://en.jd.com/chinese.html" target="_blank">海外配送</a></div>
            </dd>
        </dl>
        <dl class="fore3">
            <dt><b></b><strong>支付方式</strong></dt>
            <dd>
                <div><a href="http://help.jd.com/help/question-67.html" target="_blank" rel="nofollow">货到付款</a></div>
                <div><a href="http://help.jd.com/help/question-68.html" target="_blank" rel="nofollow">在线支付</a></div>
                <div><a href="http://help.jd.com/help/question-71.html" target="_blank" rel="nofollow">分期付款</a></div>
                <div><a href="http://help.jd.com/help/question-69.html" target="_blank" rel="nofollow">邮局汇款</a></div>
                <div><a href="http://help.jd.com/help/question-70.html" target="_blank" rel="nofollow">公司转账</a></div>
            </dd>
        </dl>
        <dl class="fore4">
            <dt><b></b><strong>售后服务</strong></dt>
            <dd>
                <div><a href="http://myjd.jd.com/afs/help/afshelp.action" target="_blank" rel="nofollow">售后政策</a></div>
                <div><a href="http://help.jd.com/help/question-99.html" target="_blank" rel="nofollow">价格保护</a></div>
                <div><a href="http://help.jd.com/help/question-100.html" target="_blank" rel="nofollow">退款说明</a></div>
                <div><a href="http://myjd.jd.com/repair/repairs.action" target="_blank" rel="nofollow">返修/退换货</a></div>
                <div><a href="http://help.jd.com/help/question-881.html" target="_blank" rel="nofollow">取消订单</a></div>
            </dd>
        </dl>
        <dl class="fore5">
            <dt><b></b><strong>特色服务</strong></dt>
            <dd>
                <div><a href="http://help.jd.com/help/question-79.html" target="_blank">夺宝岛</a></div>
                <div><a href="http://help.jd.com/help/question-86.html" target="_blank">DIY装机</a></div>
                <div><a href="http://fuwu.jd.com/" target="_blank" rel="nofollow">延保服务</a></div>
                <div><a href="http://giftcard.jd.com/market/index.action" target="_blank" rel="nofollow">京东E卡</a></div>
                <div><a href="http://help.jd.com/help/question-91.html" target="_blank" rel="nofollow">节能补贴</a></div>
                <div><a href="http://mobile.jd.com/" target="_blank" rel="nofollow">京东通信</a></div>
            </dd>
        </dl>
        <span class="clr"></span>
    </div>
</div><!-- service end --><div class="w">
    <div id="footer-2013">
        <div class="links">
            <a rel="nofollow" target="_blank" href="http://www.jd.com/intro/about.aspx">关于我们</a>|<a rel="nofollow" target="_blank" href="http://www.jd.com/contact/">联系我们</a>|<a rel="nofollow" target="_blank" href="http://zhaopin.jd.com/">人才招聘</a>|<a rel="nofollow" target="_blank" href="http://www.jd.com/contact/joinin.aspx">商家入驻</a>|<a rel="nofollow" target="_blank" href="http://sale.jd.com/act/y3surX7qpM.html">广告服务</a>|<a rel="nofollow" target="_blank" href="http://app.jd.com/">手机京东</a>|<a target="_blank" href="http://club.jd.com/links.aspx">友情链接</a>|<a target="_blank" href="http://cps.jd.com/">销售联盟</a>|<a href="http://club.jd.com/" target="_blank">京东社区</a>|<a href="http://gongyi.jd.com/" target="_blank">京东公益</a></div>
        <div class="copyright">北京市公安局朝阳分局备案编号110105014669&nbsp;&nbsp;|&nbsp;&nbsp;京ICP证070359号&nbsp;&nbsp;|&nbsp;&nbsp;互联网药品信息服务资格证编号(京)-非经营性-2011-0034<br><a rel="nofollow" href="http://misc.360buyimg.com/skin/df/i/com/f_music.jpg" target="_blank">音像制品经营许可证苏宿批005号</a>|&nbsp;&nbsp;出版物经营许可证编号新出发(苏)批字第N-012号&nbsp;&nbsp;|&nbsp;&nbsp;互联网出版许可证编号新出网证(京)字150号<br><a href="http://misc.360buyimg.com/wz/wlwhjyxkz.jpg" target="_blank">网络文化经营许可证京网文[2011]0168-061号</a>Copyright&nbsp;©&nbsp;2004-2015&nbsp;&nbsp;京东JD.com&nbsp;版权所有<br>京东旗下网站:<a href="http://en.jd.com/" target="_blank">English Site</a></div>
        <div class="authentication"><a rel="nofollow" target="_blank" href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202007080200026"><img width="108" height="40" alt="经营性网站备案中心" src="<c:url value='/resource'/>/108_40_zZOKnl.gif" class="err-product"></a>
            <a rel="nofollow" target="_blank" tabindex="-1"
                href="https://ss.cnnic.cn/verifyseal.dll?sn=2008070300100000031&ct=df&pa=294005"
                id="urlknet"><img width="108" height="40" border="true"
                name="CNNIC_seal" alt="可信网站"
                src="<c:url value='/resource'/>/kxwz.gif"
                class="err-product"></a>
            <a rel="nofollow" target="_blank"
                href="http://www.bj.cyberpolice.cn/index.do"><img width="108"
                height="40" alt="朝阳网络警察"
                src="<c:url value='/resource'/>/cywljc.png"
                class="err-product"></a>
            <a rel="nofollow" target="_blank"
                href="https://search.szfw.org/cert/l/CX20120111001803001836"><img
                width="112" height="40"
                src="<c:url value='/resource'/>/112_40_WvArIl.png"
                class="err-product"></a>
        </div>
    </div>
</div>
</body>
</html>

 

测试:

 

 

 

补充:如果索引和应用部署在同一个服务器可以使用EmbeddedSolrServer 不走http

  EmbeddedSolrServer 提供了在 java 程序中直接调用 solr api 的方式,这种方式不走 http,通常来说性能会比 http 方式好 0.5 倍,当这种是通过将 solr 嵌入应用程序中来使用。可以通过以下方式生成一个 EmbeddedSolrServer

System.setProperty(“solr.solr.home”, “/home/shalinsmangar/work/oss/branch-1.3/example/solr”); 
CoreContainer.Initializer initializer = new CoreContainer.Initializer(); 
CoreContainer coreContainer = initializer.initialize(); 
EmbeddedSolrServer server = new EmbeddedSolrServer(coreContainer, "collectionName");

其查询方式与  HttpSolrServer  查询方式一样。

 

【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】