日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

solr 3.5 配置及应用(二)

發(fā)布時間:2025/3/15 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solr 3.5 配置及应用(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在?solr 3.5 配置及應(yīng)用(一) 講過一了?solr 3.5的詳細配置,本節(jié)我們講利用solr 的客戶端調(diào)用solr的應(yīng)用了!

一、利用SolrJ操作solr API

? ? ?使用SolrJ操作Solr會比利用httpClient來操作Solr要簡單。SolrJ是封裝了httpClient方法,來操作solr的API的。SolrJ底層還是通過使用httpClient中的方法來完成Solr的操作。

? ? ?需要的包如下:

? ? ?1、 apache-solr-solrj-3.5.0.jar

? ? ?2、?commons-httpclient-3.1.jar

? ? ?3、slf4j-api-1.6.0.jar

? ? ?4、commons-logging-1.1.jar

? ? ?在solr 3.5的解壓包?apache-solr-3.5.0\apache-solr-3.5.0\dist\apache-solr-solrj-3.5.0.jar 就有這個包。

二、Solr理論

1、 solr基礎(chǔ)

因為 Solr 包裝并擴展了 Lucene,所以它們使用很多相同的術(shù)語。更重要的是,Solr 創(chuàng)建的索引與 Lucene 搜索引擎庫完全兼容。通過對 Solr 進行適當?shù)呐渲?#xff0c;某些情況下可能需要進行編碼,Solr 可以閱讀和使用構(gòu)建到其他 Lucene 應(yīng)用程序中的索引。

在 Solr 和 Lucene 中,使用一個或多個 Document 來構(gòu)建索引。Document 包括一個或多個 Field。Field 包括名稱、內(nèi)容以及告訴 Solr 如何處理內(nèi)容的元數(shù)據(jù)。例如,Field 可以包含字符串、數(shù)字、布爾值或者日期,也可以包含你想添加的任何類型,只需用在solr的配置文件中進行相應(yīng)的配置即可。Field 可以使用大量的選項來描述,這些選項告訴 Solr 在索引和搜索期間如何處理內(nèi)容。現(xiàn)在,查看一下表 1 中列出的重要屬性的子集:

屬性名稱

描述

Indexed

Indexed Field 可以進行搜索和排序。你還可以在 indexed Field 上運行 Solr 分析過程,此過程可修改內(nèi)容以改進或更改結(jié)果。

Stored

stored Field 內(nèi)容保存在索引中。這對于檢索和醒目顯示內(nèi)容很有用,但對于實際搜索則不是必需的。例如,很多應(yīng)用程序存儲指向內(nèi)容位置的指針而不是存儲實際的文件內(nèi)容。

2、 solr索引操作

在 Solr 中,通過向部署在 servlet 容器中的 Solr Web 應(yīng)用程序發(fā)送 HTTP 請求來啟動索引和搜索。Solr 接受請求,確定要使用的適當 SolrRequestHandler,然后處理請求。通過 HTTP 以同樣的方式返回響應(yīng)。默認配置返回 Solr 的標準 XML 響應(yīng)。你也可以配置 Solr 的備用響應(yīng)格式,如json、csv格式的文本。

索引就是接受輸入元數(shù)據(jù)(數(shù)據(jù)格式在schema.xml中進行配置)并將它們傳遞給 Solr,從而在 HTTP Post XML 消息中進行索引的過程。你可以向 Solr 索引 servlet 傳遞四個不同的索引請求:

add/update 允許您向 Solr 添加文檔或更新文檔。直到提交后才能搜索到這些添加和更新。

commit 告訴 Solr,應(yīng)該使上次提交以來所做的所有更改都可以搜索到。

optimize 重構(gòu) Lucene 的文件以改進搜索性能。索引完成后執(zhí)行一下優(yōu)化通常比較好。如果更新比較頻繁,則應(yīng)該在使用率較低的時候安排優(yōu)化。一個索引無需優(yōu)化也可以正常地運行。優(yōu)化是一個耗時較多的過程。

delete 可以通過 id 或查詢來指定。按 id 刪除將刪除具有指定 id 的文檔;按查詢刪除將刪除查詢返回的所有文檔。

Lucene中操作索引也有這幾個步驟,但是沒有更新。Lucene更新是先刪除,然后添加索引。因為更新索引在一定情況下,效率沒有先刪除后添加的效率好。

3、 搜索

添加文檔后,就可以搜索這些文檔了。Solr 接受 HTTP GET 和 HTTP POST 查詢消息。收到的查詢由相應(yīng)的 SolrRequestHandler 進行處理。

solr查詢參數(shù)描述:

參數(shù)

描述

示例

q

Solr 中用來搜索的查詢。有關(guān)該語法的完整描述,請參閱?參考資料。可以通過追加一個分號和已索引且未進行斷詞的字段(下面會進行解釋)的名稱來包含排序信息。默認的排序是 score desc,指按記分降序排序。

q=myField:Java AND otherField:developerWorks; date asc此查詢搜索指定的兩個字段,并根據(jù)一個日期字段對結(jié)果進行排序。

start

將初始偏移量指定到結(jié)果集中。可用于對結(jié)果進行分頁。默認值為 0。

start=15?返回從第 15 個結(jié)果開始的結(jié)果。

rows

返回文檔的最大數(shù)目。默認值為 10。

rows=25,返回25個結(jié)果集

fq

提供一個可選的篩選器查詢。查詢結(jié)果被限制為僅搜索篩選器查詢返回的結(jié)果。篩選過的查詢由 Solr 進行緩存。它們對提高復(fù)雜查詢的速度非常有用。

任何可以用 q 參數(shù)傳遞的有效查詢,排序信息除外。

hl

當 hl=true 時,在查詢響應(yīng)中醒目顯示片段。默認為 false。參看醒目顯示參數(shù)(見?參考資料)。

hl=true

fl

作為逗號分隔的列表指定文檔結(jié)果中應(yīng)返回的 Field 集。默認為 “*”,指所有的字段。“score” 指還應(yīng)返回記分。

*,score

sort

排序,對查詢結(jié)果進行排序,參考

sort=date asc,price desc

4、 solr模式

上面有提到schema.xml這個配置,這個配置可以在你下載solr包的安裝解壓目錄的apache-solr-3.4.0\example\solr\conf中找到,它就是solr模式關(guān)聯(lián)的文件。打開這個配置文件,你會發(fā)現(xiàn)有詳細的注釋。

模式組織主要分為三個重要配置

types 部分是一些常見的可重用定義,定義了 Solr(和 Lucene)如何處理 Field。也就是添加到索引中的xml文件屬性中的類型,如int、text、date等

fileds是你添加到索引文件中出現(xiàn)的屬性名稱,而聲明類型就需要用到上面的types

其他配置有

uniqueKey 唯一鍵,這里配置的是上面出現(xiàn)的fileds,一般是id、url等不重復(fù)的。在更新、刪除的時候可以用到。

defaultSearchField默認搜索屬性,如q=solr就是默認的搜索那個字段

solrQueryParser查詢轉(zhuǎn)換模式,是并且還是或者(and/or)

5、 索引配置

Solr 性能因素,來了解與各種更改相關(guān)的性能權(quán)衡。

表 1 概括了可控制 Solr 索引處理的各種因素:

因素

描述

useCompoundFile

通過將很多 Lucene 內(nèi)部文件整合到單一一個文件來減少使用中的文件的數(shù)量。這可有助于減少 Solr 使用的文件句柄數(shù)目,代價是降低了性能。除非是應(yīng)用程序用完了文件句柄,否則 false 的默認值應(yīng)該就已經(jīng)足夠。

mergeFactor

決定低水平的 Lucene 段被合并的頻率。較小的值(最小為 2)使用的內(nèi)存較少但導(dǎo)致的索引時間也更慢。較大的值可使索引時間變快但會犧牲較多的內(nèi)存。

maxBufferedDocs

在合并內(nèi)存中文檔和創(chuàng)建新段之前,定義所需索引的最小文檔數(shù)。段 是用來存儲索引信息的 Lucene 文件。較大的值可使索引時間變快但會犧牲較多的內(nèi)存。

maxMergeDocs

控制可由 Solr 合并的 Document 的最大數(shù)。較小的值 (< 10,000) 最適合于具有大量更新的應(yīng)用程序。

maxFieldLength

對于給定的 Document,控制可添加到 Field 的最大條目數(shù),進而截斷該文檔。如果文檔可能會很大,就需要增加這個數(shù)值。然而,若將這個值設(shè)置得過高會導(dǎo)致內(nèi)存不足錯誤。

unlockOnStartup

unlockOnStartup 告知 Solr 忽略在多線程環(huán)境中用來保護索引的鎖定機制。在某些情況下,索引可能會由于不正確的關(guān)機或其他錯誤而一直處于鎖定,這就妨礙了添加和更新。將其設(shè)置為 true 可以禁用啟動鎖定,進而允許進行添加和更新。

6、 查詢處理配置

<maxBooleanClauses> 標記定義了可組合在一起形成一個查詢的子句數(shù)量的上限。對于大多數(shù)應(yīng)用程序而言,默認的 1024 就應(yīng)該已經(jīng)足夠;然而,如果應(yīng)用程序大量使用了通配符或范圍查詢,增加這個限值將能避免當值超出時,拋出 TooManyClausesException。

若應(yīng)用程序預(yù)期只會檢索 Document 上少數(shù)幾個 Field,那么可以將 <enableLazyFieldLoading> 屬性設(shè)置為 true。懶散加載的一個常見場景大都發(fā)生在應(yīng)用程序返回和顯示一系列搜索結(jié)果的時候,用戶常常會單擊其中的一個來查看存儲在此索引中的原始文檔。初始的顯示常常只需要顯示很短的一段信息。若考慮到檢索大型 Document 的代價,除非必需,否則就應(yīng)該避免加載整個文檔。

<query> 部分負責定義與在 Solr 中發(fā)生的事件相關(guān)的幾個選項。Searcher 的 Java 類來處理 Query 實例。要改進這一設(shè)計和顯著提高性能,把這些新的 Searcher 聯(lián)機以便為現(xiàn)場用戶提供查詢服務(wù)之前,先對它們進行 “熱身”。<query> 部分中的 <listener> 選項定義 newSearcher 和 firstSearcher 事件,您可以使用這些事件來指定實例化新搜索程序或第一個搜索程序時應(yīng)該執(zhí)行哪些查詢。如果應(yīng)用程序期望請求某些特定的查詢,那么在創(chuàng)建新搜索程序或第一個搜索程序時就應(yīng)該反注釋這些部分并執(zhí)行適當?shù)牟樵儭?/p>

solrconfig.xml 文件的剩余部分,除 <admin> 之外,涵蓋了與 緩存、復(fù)制 和 擴展或定制 Solr 有關(guān)的項目。admin 部分讓您可以定制管理界面。有關(guān)配置 admin 節(jié)的更多信息,請參看solrconfig.xml 文件中的注釋。

7、 監(jiān)視、記錄和統(tǒng)計數(shù)據(jù)

用于監(jiān)視、記錄和統(tǒng)計數(shù)據(jù)的 Solr 管理選項

菜單名

URL

描述

Statistics

http://localhost:8080/solr/admin/stats.jsp

Statistics 管理頁提供了與 Solr 性能相關(guān)的很多有用的統(tǒng)計數(shù)據(jù)。這些數(shù)據(jù)包括:

關(guān)于何時加載索引以及索引中有多少文檔的信息。

關(guān)于用來服務(wù)查詢的 SolrRequestHandler 的有用信息。

涵蓋索引過程的數(shù)據(jù),包括添加、刪除、提交等的數(shù)量。

緩存實現(xiàn)和 hit/miss/eviction 信息

Info

http://localhost:8080/solr/admin/registry.jsp

有關(guān)正在運行的 Solr 的版本以及在當前實現(xiàn)中進行查詢、更新和緩存所使用的類的詳細信息。此外,還包括文件存于 Solr subversion 存儲庫的何處的信息以及對該文件功能的一個簡要描述。

Distribution

http://localhost:8080/solr/admin/distributiondump.jsp

顯示與索引發(fā)布和復(fù)制有關(guān)的信息。更多信息,請參見 “發(fā)布和復(fù)制” 一節(jié)。

Ping

http://localhost:8080/solr/admin/ping

向服務(wù)器發(fā)出 ping 請求,包括在 solrconfig.xml 文件的 admin 部分定義的請求。

Logging

http://localhost:8080/solr/admin/logging.jsp

讓您可以動態(tài)更改當前應(yīng)用程序的日志記錄等級。更改日志記錄等級對于調(diào)試在執(zhí)行過程中可能出現(xiàn)的問題非常有用。

properties

http: //localhost:8080/solr/admin/get-properties.jsp

顯示當前系統(tǒng)正在使用的所有 Java 系統(tǒng)屬性。Solr 支持通過命令行的系統(tǒng)屬性替換。有關(guān)實現(xiàn)此特性的更多信息,請參見 solrconfig.xml 文件。

Thread dump

http://localhost:8080/solr/admin/threaddump.jsp

thread dump 選項顯示了在 JVM 中運行的所有線程的堆棧跟蹤信息。

8、 智能緩存

智能緩存是讓 Solr 得以成為引人矚目的搜索服務(wù)器的一個關(guān)鍵性能特征。Solr 提供了四種不同的緩存類型,所有四種類型都可在 solrconfig.xml 的 <query> 部分中配置。solrconfig.xml 文件中所用的標記名列出了這些緩存類型:

緩存標記名

描述

能否自熱

filterCache

通過存儲一個匹配給定查詢的文檔 id 的無序集,過濾器讓 Solr 能夠有效提高查詢的性能。緩存這些過濾器意味著對 Solr 的重復(fù)調(diào)用可以導(dǎo)致結(jié)果集的快速查找。更常見的場景是緩存一個過濾器,然后再發(fā)起后續(xù)的精煉查詢,這種查詢能使用過濾器來限制要搜索的文檔數(shù)。

可以

queryResultCache

為查詢、排序條件和所請求文檔的數(shù)量緩存文檔 id 的有序 集合。

可以

documentCache

緩存 Lucene Document,使用內(nèi)部 Lucene 文檔 id(以便不與 Solr 惟一 id 相混淆)。由于 Lucene 的內(nèi)部 Document id 可以因索引操作而更改,這種緩存不能自熱。

不可以

Named caches

命名緩存是用戶定義的緩存,可被 Solr 定制插件 所使用。

可以,如果實現(xiàn)了 org.apache.solr.search.CacheRegenerator 的話。

每個緩存聲明都接受最多四個屬性:

class 是緩存實現(xiàn)的 Java 名。

size 是最大的條目數(shù)。

initialSize 是緩存的初始大小。

autoWarmCount 是取自舊緩存以預(yù)熱新緩存的條目數(shù)。如果條目很多,就意味著緩存的 hit 會更多,只不過需要花更長的預(yù)熱時間。

三、實例

? 1、獲取SolrServer 用單例的形式寫了個類;

View Code package com.stu.commons;
import java.net.MalformedURLException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;

/**
* Description:
*
@author LiChunming
*
@version V1.0
* @createDateTime:2012-2-27 下午03:49:04
* @Company: MSD.
* @Copyright: Copyright (c) 2011
*
*/
public class SolrServer {
private static SolrServer solrServer = null;
private static CommonsHttpSolrServer server=null;
private static String url="http://localhost:8080/solr";

public static synchronized SolrServer getInstance() {
if (solrServer==null){
solrServer=new SolrServer();
}
return solrServer;
}
public static CommonsHttpSolrServer getServer(){
try {
if(server==null){
server = new CommonsHttpSolrServer(url);
server.setSoTimeout(1000); // socket read timeout
server.setConnectionTimeout(1000);
server.setDefaultMaxConnectionsPerHost(100);
server.setMaxTotalConnections(100);
server.setFollowRedirects(false); // defaults to false
//allowCompression defaults to false.
//Server side must support gzip or deflate for this to have any effect.
server.setAllowCompression(true);
server.setMaxRetries(1); // defaults to 0. > 1 not recommended.
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return server;
}
}

? 2、打開目錄tomcat-7.0.14\solr\conf\schema.xml文件在<fields>下增加下字段。用于增加到搜索引擎的字段

<field name="blogId" type="string" indexed="true" stored="true" required="true"/>
<field name="content" type="text" indexed="true" stored="true" omitNorms="true" />
<field name="bTypeId" type="string" indexed="true" stored="true" />
<field name="bTypeName" type="string" indexed="true" stored="true" />
<field name="nickName" type="string" indexed="true" stored="true" />
<field name="createTime" type="date" indexed="true" stored="true" omitNorms="true" />

? ?3、增加信息到引擎文件中

1 public void writerBlog(BlogsDO blog) {
2 // TODO Auto-generated method stub
3 try {
4 blog.setId(SerialNumberUtil.getRandomNum(4));
5 //獲取連接服務(wù)
6 CommonsHttpSolrServer solrServer= SolrServer.getInstance().getServer();
7 SolrInputDocument doc1 = new SolrInputDocument();
8 doc1.addField("id", SerialNumberUtil.getRandomNum(4) );
9 doc1.addField("blogId", blog.getBlogsId());
10 doc1.addField("title",blog.getTitle() );
11 doc1.addField("bTypeId", blog.getbTypeId());
12 doc1.addField("bTypeName", blog.getbTypeName());
13 doc1.addField("content", blog.getContent());
14 String createTime=DateUtils.formatDate(blog.getGmtCreate(), "yyyyMMddHHmmss");
15 doc1.addField("createTime",createTime);
16 doc1.addField("nickName",blog.getNickName());
17 solrServer.add(doc1);
18 solrServer.commit();
19 } catch (SolrServerException e) {
20 // TODO Auto-generated catch block
21 e.printStackTrace();
22 } catch (IOException e) {
23 // TODO Auto-generated catch block
24 e.printStackTrace();
25 }
26 }

? ? 4、實體類?BlogsDO?

View Code 1 package com.stu.entity;
2
3 import java.io.Serializable;
4 import java.util.Date;
5 import javax.persistence.Column;
6 import javax.persistence.Entity;
7 import javax.persistence.GeneratedValue;
8 import javax.persistence.GenerationType;
9 import javax.persistence.Id;
10 import javax.persistence.Table;
11 import javax.persistence.Transient;
12 import org.apache.solr.client.solrj.beans.Field;
13
14 import com.stu.commons.util.DateUtils;
15
16 /**
17 * Description:
18 * @author LiChunming
19 * @version V1.0
20 * @createDateTime:2011-5-17 下午04:38:11
21 * @Company: MSD.
22 * @Copyright: Copyright (c) 2011
23 **/
24 @Entity
25 @Table(name="blogs")
26 public class BlogsDO implements Serializable{
27 /**
28 *
29 */
30 private static final long serialVersionUID = -4721368786493126226L;
31 @Field
32 private String id;
33 @Field("blogId")
34 private Integer blogsId;
35 @Field
36 private String title;
37 @Field
38 private String content="";
39 @Field("createTime")
40 private Date gmtCreate;
41 @Field
42 private String nickName;
43 @Field
44 private String bTypeId;
45 @Field
46 private String bTypeName;
47 private Date gmtModified;
48 private String revDate;
49 private String sDate="";
50 private String eDate="";
51
52 @Transient
53 public String getId() {
54 return id;
55 }
56 public void setId(String id) {
57 this.id = id;
58 }
59 @Id
60 @GeneratedValue(strategy = GenerationType.IDENTITY)
61 public Integer getBlogsId() {
62 return blogsId;
63 }
64 public void setBlogsId(Integer blogsId) {
65 this.blogsId = blogsId;
66 }
67 public String getTitle() {
68 return title;
69 }
70 public void setTitle(String title) {
71 this.title = title;
72 }
73 public String getContent() {
74 return content;
75 }
76 public void setContent(String content) {
77 this.content = content;
78 }
79
80 public String getNickName() {
81 return nickName;
82 }
83 public void setNickName(String nickName) {
84 this.nickName = nickName;
85 }
86
87 public String getbTypeId() {
88 return bTypeId;
89 }
90 public void setbTypeId(String bTypeId) {
91 this.bTypeId = bTypeId;
92 }
93 @Column(name="gmt_create")
94 public Date getGmtCreate() {
95 return gmtCreate;
96 }
97 public void setGmtCreate(Date gmtCreate) {
98 this.gmtCreate = gmtCreate;
99 }
100 @Column(name="gmt_modified")
101 public Date getGmtModified() {
102 return gmtModified;
103 }
104 public void setGmtModified(Date gmtModified) {
105 this.gmtModified = gmtModified;
106 }
107 @Transient
108 public String getRevDate() {
109 if (this.gmtCreate == null) {
110 return null;
111 }
112 return DateUtils.formatDate(gmtCreate, "yyyy-MM-dd HH:mm:ss");
113 }
114 public void setRevDate(String revDate) {
115 this.revDate = revDate;
116 }
117 @Transient
118 public String getbTypeName() {
119 return bTypeName;
120 }
121 public void setbTypeName(String bTypeName) {
122 this.bTypeName = bTypeName;
123 }
124 @Transient
125 public String getsDate() {
126 return sDate;
127 }
128 public void setsDate(String sDate) {
129 this.sDate = sDate;
130 }
131 @Transient
132 public String geteDate() {
133 return eDate;
134 }
135 public void seteDate(String eDate) {
136 this.eDate = eDate;
137 }
138 @Override
139 public String toString() {
140 return this.id + "#" + this.blogsId + "#" + this.title + "#" + this.content + "#" + this.bTypeId + "#" + this.bTypeName + "#" + this.nickName+"#" + this.gmtCreate;
141 }
142
143 }
144

? ? 5、文檔查詢(注意查詢出來的文檔轉(zhuǎn)化為List<object>比較麻煩,下次我們將使用

DocumentObjectBinder對象將SolrInputDocument 和 BlogsDO對象相互轉(zhuǎn)換 View Code 1 public List<BlogsDO> searchBlogsList(String content, String bTypeId,
2 String sDate, String eDate, Page page) throws IOException,
3 ParseException {
4 List<BlogsDO> blogList=new ArrayList<BlogsDO>();
5 BlogsDO blogsDO=null;
6 CommonsHttpSolrServer solrServer= SolrServer.getInstance().getServer();
7 SolrQuery sQuery = new SolrQuery();
8 String para="";
9 //OR 或者 OR 一定要大寫
10 if(StringUtils.isNotEmpty(content)){
11 para=para+"(title:"+content+" OR content:"+content+")";
12 //空格 等同于 OR
13 // para=para+"(title:"+content+" content:"+content+")";
14 }
15 //AND 并且 AND一定要大寫
16 if(!bTypeId.equals("-1")){
17 if(StringUtils.isNotEmpty(para)){
18 para=para+" AND bTypeId:"+bTypeId;
19 }else{
20 para=para+" bTypeId:"+bTypeId;
21 }
22 }
23 if(StringUtils.isNotEmpty(sDate) && StringUtils.isNotEmpty(eDate)){
24 if(StringUtils.isNotEmpty(para)){
25 para=para+" AND createTime:["+sDate+" TO "+eDate+"]";
26 }else{
27 para=para+" createTime:["+sDate+" TO "+eDate+"]";
28 }
29 }
30 //查詢name包含solr apple
31 //sQuery.setQuery("name:solr,apple");
32 //manu不包含inc
33 //sQuery.setQuery("name:solr,apple NOT manu:inc");
34 //50 <= price <= 200
35 //sQuery.setQuery("price:[50 TO 200]");
36 //sQuery.setQuery("popularity:[5 TO 6]");
37 //params.setQuery("price:[50 TO 200] - popularity:[5 TO 6]");
38 //params.setQuery("price:[50 TO 200] + popularity:[5 TO 6]");
39 //50 <= price <= 200 AND 5 <= popularity <= 6
40 //sQuery.setQuery("price:[50 TO 200] AND popularity:[5 TO 6]");
41 //sQuery.setQuery("price:[50 TO 200] OR popularity:[5 TO 6]");
42
43 // 查詢關(guān)鍵詞,*:*代表所有屬性、所有值,即所有index
44 if(!StringUtils.isNotEmpty(para)){
45 para="*:*";
46 }
47 logger.info("para:"+para);
48 sQuery.setQuery(para);
49 //設(shè)置分頁 start=0就是從0開始,,rows=5當前返回5條記錄,第二頁就是變化start這個值為5就可以了。
50 sQuery.setStart((page.getCurrentPage()-1)*page.getPerPageSize());
51 sQuery.setRows(page.getPerPageSize());
52 //排序 如果按照blogId 排序,,那么將blogId desc(or asc) 改成 id desc(or asc)
53 sQuery.addSortField("blogId", ORDER.asc);
54
55 //設(shè)置高亮
56 sQuery.setHighlight(true); // 開啟高亮組件
57 sQuery.addHighlightField("content");// 高亮字段
58 sQuery.addHighlightField("title");// 高亮字段
59 sQuery.setHighlightSimplePre("<font color='red'>");//標記,高亮關(guān)鍵字前綴
60 sQuery.setHighlightSimplePost("</font>");//后綴
61 sQuery.setHighlightSnippets(2);//結(jié)果分片數(shù),默認為1
62 sQuery.setHighlightFragsize(1000);//每個分片的最大長度,默認為100
63
64 //分片信息
65 sQuery.setFacet(true)
66 .setFacetMinCount(1)
67 .setFacetLimit(5)//
68 .addFacetField("content");//分片字段
69
70 try {
71 QueryResponse response = solrServer.query(sQuery);
72 SolrDocumentList list = response.getResults();
73 Integer counts=(int) list.getNumFound();
74 logger.info("counts:"+counts);
75 page.setCounts(counts);
76 //獲取所有高亮的字段
77 Map<String,Map<String,List<String>>> highlightMap=response.getHighlighting();
78 String blogId="";
79 for (SolrDocument solrDocument : list) {
80 blogsDO=new BlogsDO();
81 blogId=solrDocument.getFieldValue("blogId").toString();
82 blogsDO.setBlogsId(Integer.valueOf(blogId));
83 blogsDO.setbTypeId(solrDocument.getFieldValue("bTypeId").toString());
84 blogsDO.setbTypeName(solrDocument.getFieldValue("bTypeName").toString());
85 blogsDO.setNickName(solrDocument.getFieldValue("nickName").toString());
86 List<String> titleList=highlightMap.get(blogId).get("title");
87 List<String> contentList=highlightMap.get(blogId).get("content");
88 if(titleList!=null && titleList.size()>0){
89 blogsDO.setTitle(titleList.get(0));
90 }else{
91 //獲取并設(shè)置高亮的字段title
92 blogsDO.setTitle(solrDocument.getFieldValue("title").toString());
93 }
94 if(contentList!=null && contentList.size()>0){
95 blogsDO.setContent(contentList.get(0));
96 }else{
97 //獲取并設(shè)置高亮的字段content
98 blogsDO.setContent(solrDocument.getFieldValue("content").toString());
99 }
100 blogsDO.setRevDate(solrDocument.getFieldValue("createTime").toString());
101 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
102 try {
103 blogsDO.setGmtCreate(sdf.parse(solrDocument.getFieldValue("createTime").toString()));
104 } catch (java.text.ParseException e) {
105 // TODO Auto-generated catch block
106 e.printStackTrace();
107 }
108 blogList.add(blogsDO);
109 }
110 } catch (SolrServerException e) {
111 // TODO Auto-generated catch block
112 e.printStackTrace();
113 }
114 return blogList;
115 }

? ??





?

轉(zhuǎn)載于:https://www.cnblogs.com/yuanermen/archive/2012/03/02/2377260.html

總結(jié)

以上是生活随笔為你收集整理的solr 3.5 配置及应用(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

婷婷五情天综123 | www.亚洲黄| 九九精品毛片 | 久久久午夜精品理论片中文字幕 | 日日夜夜天天久久 | 国产亚洲va综合人人澡精品 | 亚洲成av人片 | 超碰大片 | 亚州国产精品久久久 | a视频在线观看免费 | 五月天中文字幕 | 亚洲精品一区二区久 | 国产在线精品一区二区三区 | 一区二区视频电影在线观看 | 色姑娘综合天天 | 久久久国产毛片 | 激情av网| 射射色 | 亚洲一级特黄 | 99热这里只有精品在线观看 | www.干| 天堂视频中文在线 | 精品福利在线观看 | 天天久久综合 | 日韩欧美在线综合网 | 久久久精品影视 | 免费在线观看日韩欧美 | 国产精品午夜在线观看 | 日本精品久久久久中文字幕 | 成 人 黄 色 视频播放1 | 国产黄色av网站 | 天天狠狠| 婷婷日日 | 国产男男gay做爰 | 天天插视频 | 91九色蝌蚪| 国产精品国产三级国产aⅴ入口 | 亚洲桃花综合 | 亚洲精品网址在线观看 | 日韩欧美在线免费观看 | 在线亚洲人成电影网站色www | 97在线观看免费视频 | 91精品久久久久久久99蜜桃 | 天天操夜夜干 | 91精品在线播放 | 亚洲午夜剧场 | 日韩一区二区三区免费视频 | 欧美日韩免费在线观看视频 | 免费三级黄色 | 久章草在线观看 | 国产午夜精品久久久久久久久久 | 国产美女在线观看 | 亚洲黄色app | 日日夜夜精品视频 | 日韩午夜av电影 | 又黄又爽又刺激的视频 | 精品国模一区二区三区 | 天天综合网天天综合色 | 日韩精品免费一区二区三区 | 国产一级一级国产 | 91成人小视频 | 国产精品久久精品国产 | 国产色 在线 | 日韩欧美综合在线视频 | av在线在线 | 久精品在线 | 91av大全| 日韩av影视在线观看 | 国产精品欧美久久久久无广告 | 麻豆 videos | 永久免费的啪啪网站免费观看浪潮 | 丝袜+亚洲+另类+欧美+变态 | 欧美作爱视频 | 国产精品女同一区二区三区久久夜 | 国产精品久久久一区二区三区网站 | 2022久久国产露脸精品国产 | 色婷婷视频 | 国产一级片免费播放 | 成人国产精品一区二区 | 国产精品嫩草影院9 | 中文字幕你懂的 | 久久优 | 国产精品久久久一区二区三区网站 | 精品自拍网 | 成人网页在线免费观看 | 国产区av在线 | 久久99热精品这里久久精品 | 国产精品免费久久久久久 | 一区二区三区免费在线观看视频 | 国产高清视频在线免费观看 | 国产精品视频永久免费播放 | 国产明星视频三级a三级点| 蜜桃麻豆www久久囤产精品 | 亚洲日本激情 | 国产在线一区二区三区播放 | 丁香色综合 | 日韩一级精品 | 久久精彩| 色97在线| 999久久久精品视频 日韩高清www | 五月天天色 | 中文有码在线视频 | 午夜免费福利视频 | 国产一区二区三区在线免费观看 | 日韩在线一区二区免费 | 涩av在线 | 日韩视频在线播放 | 亚洲精品a区 | 亚洲精品免费播放 | 国内精品久久久久影院优 | 成年人在线视频观看 | 五月婷婷丁香激情 | 99久久精品久久亚洲精品 | 久久精品九色 | 天天射天天操天天 | 992tv又爽又黄的免费视频 | 操操操干干干 | 久久成人国产精品免费软件 | 天天搞天天干 | 97碰在线 | 18国产精品福利片久久婷 | 精品国产免费av | 在线三级av | 日韩伦理一区二区三区av在线 | 国产一级免费av | 精品一区二区影视 | 久久综合色一综合色88 | 中文在线字幕观看电影 | 久久人操 | 日韩久久午夜一级啪啪 | 日日草天天干 | 午夜精品婷婷 | 天天色天天综合 | 蜜桃视频成人在线观看 | a久久免费视频 | 亚洲码国产日韩欧美高潮在线播放 | 狠狠插狠狠干 | 亚州国产视频 | 伊人影院99 | 美女av免费看| 精产嫩模国品一二三区 | 精品国产福利在线 | 欧美国产高清 | 97精品国产91久久久久久 | av在线一二三区 | 在线精品亚洲一区二区 | 日韩av区| 91在线视频免费观看 | 男女拍拍免费视频 | 97av影院| 天天射天天做 | 91在线视频免费播放 | 国产精品久久久久久久久毛片 | 亚洲第五色综合网 | 欧美伦理一区二区三区 | 四虎成人精品永久免费av | 国产做aⅴ在线视频播放 | 日韩免费三级 | 一区二区电影在线观看 | 欧美 激情 国产 91 在线 | 日韩欧美一区二区在线 | 久久成年人视频 | 久久久精品网站 | 国产精品毛片久久久久久 | 狠狠激情中文字幕 | 在线观看91精品视频 | 中文字幕资源在线观看 | 97看片吧| 成人夜晚看av | 精品国产综合区久久久久久 | 91成人免费视频 | 狠狠色丁香婷婷综合视频 | 国产一区二区视频在线 | 福利电影一区二区 | 日韩精品一区二区三区电影 | 高清av中文在线字幕观看1 | 国产黄色电影 | 97视频免费观看 | 极品中文字幕 | 91精品久久久久久久91蜜桃 | 中文国产在线观看 | www色com| 国产精品18久久久 | 美女露久久 | 日日夜夜天天综合 | 国产在线播放不卡 | 国产美女视频 | 国产亚洲精品久久久久久久久久久久 | www免费网站在线观看 | 国产成人久久久77777 | 成人激情开心网 | 日日摸日日添夜夜爽97 | 97国产| 最新国产精品久久精品 | 91香蕉久久| 久久久久在线观看 | 成人在线观看网址 | 国产午夜视频在线观看 | 精品一区二区久久久久久久网站 | 最新中文字幕在线资源 | 超碰午夜 | 久草视频观看 | 亚洲视频久久久 | 精品欧美一区二区在线观看 | 免费精品国产va自在自线 | 免费观看91视频大全 | 天天干,天天插 | 国产色婷婷在线 | 国产日韩高清在线 | 久久久免费观看 | 涩涩资源网 | 欧美一二三区播放 | 国产精品久久久久久超碰 | 91精品一区二区三区久久久久久 | 成人在线视频在线观看 | 日韩在线视 | 日韩一级成人av | 一区二区三区电影大全 | 日韩精选在线观看 | 黄色一级在线观看 | 中文字幕日韩国产 | 少妇视频在线播放 | 超碰在线cao | 蜜臀久久99精品久久久无需会员 | 欧美色操 | 91视频在线观看免费 | 免费在线一区二区 | 手机av在线不卡 | 天天操狠狠干 | 天天激情天天干 | 黄色网中文字幕 | 精品视频久久久久久 | 国产精品免费观看网站 | 亚洲 欧美 精品 | 久热色超碰 | 国产视频一区在线免费观看 | 午夜色大片在线观看 | 在线免费av网 | 久久成熟 | av中文天堂在线 | 国产一区二区在线观看免费 | 久久精品久久久精品美女 | 欧美一区二区三区免费看 | 久久国产精品系列 | 日韩av免费一区 | 国产九九精品视频 | 成人黄色在线 | 中文字幕丝袜一区二区 | 国产麻豆剧果冻传媒视频播放量 | 黄色a大片 | 欧美日韩免费网站 | 美女在线观看网站 | 国产真实在线 | 黄色免费网站下载 | 久草视频中文在线 | 少妇性aaaaaaaaa视频 | 在线免费观看国产精品 | 午夜视频在线瓜伦 | 超碰在线人人97 | 日本特黄特色aaa大片免费 | 91社区国产高清 | 国产免费观看av | 免费国产在线观看 | 超碰在线日韩 | 伊人资源视频在线 | 999成人国产 | 日韩毛片在线免费观看 | 中文字幕有码在线观看 | 亚洲成人二区 | 婷婷六月天综合 | 波多野结衣日韩 | 久久99精品国产一区二区三区 | 黄色小说视频网站 | 丁香婷婷激情五月 | 国产精品久久中文字幕 | 精品在线观看一区二区三区 | 国产精品一区二 | 欧美极品xxx| 久久婷婷一区二区三区 | 精品一区二区三区在线播放 | 91福利视频网站 | 伊人婷婷久久 | 久久久久麻豆v国产 | 69精品人人人人 | 亚洲国产合集 | 精品国产伦一区二区三区观看说明 | 成人18视频| 国产破处视频在线播放 | 免费看精品久久片 | 中文字幕在线有码 | 免费久久片 | 天天插狠狠干 | www最近高清中文国语在线观看 | 在线性视频日韩欧美 | 免费黄av | 日本久久久久久久久 | 夜色成人网 | 国产91精品久久久久久 | 日日夜夜天天人人 | 一区二区三区免费播放 | 丁香婷婷基地 | 999久久国精品免费观看网站 | 日韩av在线小说 | 久久精品男人的天堂 | 麻豆一二| 在线看v片成人 | 成人aⅴ视频 | 福利视频精品 | 久久久久久久久久免费 | 欧洲亚洲激情 | 亚州国产精品视频 | 日韩手机在线观看 | 精品欧美乱码久久久久久 | 婷婷激情欧美 | 婷婷六月综合网 | 色丁香综合| 日本狠狠色| 美女av免费看 | 日本三级久久 | 免费网站黄 | 在线精品国产 | 久久99国产精品自在自在app | 国产手机精品视频 | a级片韩国| 天天色天天操天天爽 | 99国产精品久久久久久久久久 | 日韩三级.com | 麻豆传媒精品 | 国产精品一区二区在线播放 | 国产免码va在线观看免费 | 亚洲黄色免费在线看 | 不卡电影一区二区三区 | 粉嫩av一区二区三区四区在线观看 | 欧美日韩国产一区二区在线观看 | 国产专区视频在线 | 亚洲蜜桃av| 九九九在线观看视频 | 国产免费一区二区三区网站免费 | 欧美激情片在线观看 | 一区二区三区福利 | 国产美腿白丝袜足在线av | 国产99久久精品一区二区300 | 国内精品久久久久久久久久清纯 | 91精品在线免费观看视频 | 欧美影片 | 九九九九九九精品任你躁 | 在线观看的a站 | www·22com天天操 | 国产精品福利在线观看 | 2024av| 精品婷婷 | 国产精品久久久久久久久久三级 | 日日天天 | 国产福利一区二区三区在线观看 | av网站免费在线 | 九九99 | 一区二区三区在线播放 | 国产无遮挡又黄又爽在线观看 | 精品一区免费 | 国产一区二区在线免费观看 | 欧美日韩国产色综合一二三四 | 91一区啪爱嗯打偷拍欧美 | 欧美在线视频第一页 | 久久久久久久久久亚洲精品 | 国产精品免费大片视频 | 国产精品视频线看 | 精品久久久久久亚洲综合网站 | 日韩欧美国产激情在线播放 | 六月色丁香 | 91精品久久久久 | 色网站视频 | 色老板在线视频 | 欧美综合色在线图区 | 成人欧美一区二区三区在线观看 | 久精品视频在线观看 | 97国产一区二区 | 又大又硬又黄又爽视频在线观看 | 偷拍福利视频一区二区三区 | av大全在线 | 日韩3区| 国产视频手机在线 | 热久久国产精品 | 久久精品久久久精品美女 | 欧美午夜精品久久久久久孕妇 | 国内精品久久久久国产 | 日本中文字幕一二区观 | 日韩天天干| 国产午夜精品一区二区三区四区 | 婷婷色网站 | 久久久久久欧美二区电影网 | 日韩电影在线观看一区二区三区 | 欧洲精品久久久久毛片完整版 | 亚洲视频一区二区三区在线观看 | 国产一区二区在线观看免费 | 99中文在线 | 国产a国产 | 一区二区视频网站 | 又色又爽又黄高潮的免费视频 | 九九热中文字幕 | 亚洲激精日韩激精欧美精品 | 免费在线国产黄色 | 久久久久五月 | 在线日本看片免费人成视久网 | 粉嫩av一区二区三区入口 | 欧美色道 | 久久只精品99品免费久23小说 | 成人a免费| 国产剧情久久 | 色综合久久精品 | 亚洲精品成人网 | 亚洲成人资源网 | 亚洲男人天堂a | 国产在线2020 | 国产 精品 资源 | 色噜噜狠狠色综合中国 | 亚洲欧美日韩精品久久奇米一区 | 四虎影视8848dvd| 国内成人综合 | 国产免费a| 天天操天天色天天射 | 果冻av在线| av一区在线播放 | 亚洲视频免费在线看 | 免费在线观看不卡av | 久久久国产精品网站 | 日韩高清片 | 91免费视频国产 | 99在线精品视频在线观看 | 欧美一级高清片 | 亚洲综合最新在线 | 911免费视频| 99久久99久久免费精品蜜臀 | 国产精品久久久久久久久久99 | 亚洲免费在线观看视频 | 你操综合| 欧美99热| 激情久久一区二区三区 | 久久久久久综合 | 丁香网婷婷 | 婷婷在线资源 | 91精品国产综合久久久久久久 | 五月婷婷播播 | 色夜视频 | 国产极品尤物在线 | 狠狠操狠狠干天天操 | www.干| 中文字幕 国产视频 | 国产精品成久久久久三级 | av不卡在线看 | 亚洲精品mv在线观看 | 激情久久久久 | 国产麻豆果冻传媒在线观看 | 中文字幕视频播放 | 欧美日韩国产区 | 日韩美女黄色片 | 国内精品亚洲 | 亚洲精品乱码久久 | 丁香六月五月婷婷 | 国产黄色片一级三级 | www.91国产| 日韩久久激情 | 日韩精品免费在线观看 | www在线观看国产 | 精品电影一区 | 999ZYZ玖玖资源站永久 | 欧美日韩一级久久久久久免费看 | 欧美先锋影音 | 视频在线观看入口黄最新永久免费国产 | 久草在线最新免费 | 婷婷色在线播放 | 91久久人澡人人添人人爽欧美 | 激情综合网五月 | 日韩精品视频在线免费观看 | 97超在线视频| 国产一区二区精品久久91 | av免费在线网站 | 免费的黄色的网站 | av片免费播放 | 国产精品理论片在线观看 | 久久精品久久精品 | 999久久久免费精品国产 | 91人人视频在线观看 | 久久久久国产精品厨房 | 欧美巨大荫蒂茸毛毛人妖 | 波多野结衣精品在线 | 亚洲成av人片在线观看香蕉 | 中文字幕在线免费97 | 国产精品破处视频 | 天天干天天干天天操 | 日韩电影一区二区在线观看 | 国产视频2区| 天天干天天拍天天操天天拍 | 久久免费福利视频 | 久草在线精品观看 | 亚洲国产精彩中文乱码av | 国产精在线 | 黄p在线播放 | 四虎在线永久免费观看 | 超碰在线人人艹 | 国产成人精品久久久 | www色| 日韩精品极品视频 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 超碰在线97观看 | 夜色在线资源 | 亚洲欧洲中文日韩久久av乱码 | 亚洲精品在线视频 | 欧美影院久久 | 日韩精品久久久久久久电影99爱 | 欧美亚洲免费在线一区 | 婷婷视频在线 | 国产激情小视频在线观看 | 久久精品在线免费观看 | 国产91精品高清一区二区三区 | 色在线视频 | 久久九精品 | 色欧美日韩 | 激情开心色 | 91在线国内视频 | 国产精品69久久久久 | 中文电影网 | 2019av在线视频 | 91热视频| 中文字幕第一页在线视频 | 国产精品成人在线观看 | 久久久久久久久久久久电影 | 日韩av在线不卡 | 中文国产字幕 | 久久久久免费视频 | 玖玖国产精品视频 | 国产精品男女啪啪 | 精品在线一区二区 | 日日射天天射 | 久久人人97超碰com | 日韩在线电影观看 | 99精品在这里 | 国产一区二区在线免费播放 | 97成人超碰| 狠狠色狠狠色 | 欧美日韩视频观看 | 中文字幕在线成人 | 亚洲黄在线观看 | 国产高清中文字幕 | 国产精品专区在线观看 | 久久不卡日韩美女 | 黄色特一级片 | 日韩激情综合 | 天天曰夜夜操 | 四虎在线视频免费观看 | 国产精品久久久久久久久费观看 | 五月天综合在线 | 日韩av电影国产 | 四虎影视www | 国产精品激情在线观看 | 亚洲精品欧美视频 | 91在线看视频 | 99久久精品久久亚洲精品 | 麻豆免费视频观看 | 在线看片一区 | 免费观看性生活大片 | aaa日本高清在线播放免费观看 | 国产精品免费视频一区二区 | 深爱激情站 | 99精品国产一区二区 | 97超碰在 | 成人天堂网 | 日韩精品一区二区免费视频 | 午夜精品久久久久久久久久久久久久 | 国产精品成久久久久 | 玖玖玖国产精品 | 91av视频在线免费观看 | 成人亚洲综合 | 黄色大片中国 | 热久久视久久精品18亚洲精品 | 在线观看亚洲国产精品 | 不卡中文字幕av | 国产婷婷一区二区 | 亚洲综合婷婷 | 亚洲麻豆精品 | 国产成a人亚洲精v品在线观看 | 偷拍精偷拍精品欧洲亚洲网站 | 成人a在线观看高清电影 | 国产精品电影一区 | 日韩 国产| 国产资源av | 嫩草av影院 | 成人免费网站在线观看 | 中文字幕在线观看第三页 | 98精品国产自产在线观看 | 96av在线视频| 国产高清av在线播放 | 久久大香线蕉app | 500部大龄熟乱视频使用方法 | 成人h视频在线播放 | 久久久久久久久黄色 | 在线国产能看的 | 久久久久久久久影视 | 奇米影视四色8888 | 可以免费观看的av片 | 1024手机在线看 | 美女久久精品 | 欧美极品裸体 | 97超碰.com | 97精品国产97久久久久久春色 | 国产视频导航 | 精品国产乱码久久久久久1区二区 | 日韩中文在线电影 | 米奇狠狠狠888 | 人人爽人人爽人人 | 又黄又刺激视频 | 免费成人在线视频网站 | 91亚洲精品久久久蜜桃网站 | 成年人在线 | 日本精品在线看 | 久久成熟 | 热热热热热色 | 精品国产中文字幕 | 亚洲国产成人av网 | 国产清纯在线 | 国产中年夫妇高潮精品视频 | 日韩欧美一区二区三区视频 | 日韩高清在线一区二区三区 | 国产精品免费久久久 | 蜜臀av性久久久久av蜜臀三区 | 美女视频黄免费的久久 | 四虎影视成人精品国库在线观看 | 久久亚洲免费视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 久久久久国产免费免费 | 超碰.com| 一区电影 | 欧美日韩免费看 | 黄色h在线观看 | 久射网| 97精品国自产拍在线观看 | 最新av网址在线 | 欧美日韩aaaa | 亚洲精品麻豆视频 | 久久er99热精品一区二区三区 | 国产免费久久 | 欧美日韩一级在线 | 欧美一级黄大片 | 精品国产乱码久久久久久三级人 | 97超在线视频 | 成人小视频在线观看免费 | 中文字幕国产精品 | 久久99国产综合精品免费 | 日韩精品一区二区三区高清免费 | 亚洲免费一级 | 激情五月婷婷 | 91九色porny蝌蚪主页 | 日韩免费久久 | 一区二区理论片 | 精品国产乱码久久久久久久 | 免费看的黄色 | aaa毛片视频 | 国产免费叼嘿网站免费 | 免费网址在线播放 | 国产一区免费看 | 国产福利91精品一区二区三区 | 国产亚州av | 涩涩伊人 | 精品国产区在线 | 99久久9 | 97视频入口免费观看 | 99免费在线视频观看 | 亚洲精品一区二区久 | 婷婷新五月| 日韩在线观看av | 国产精品一码二码三码在线 | 黄色激情网址 | 日韩精品一二三 | 久久艹在线观看 | 久久精品国产精品亚洲精品 | www.色五月| 亚洲aⅴ久久精品 | 综合久久2023 | 国产永久免费高清在线观看视频 | 中文电影网 | 久久av在线播放 | 欧美污在线观看 | 97免费视频在线 | 国产1区2区3区精品美女 | 日日干美女 | 国产黄色电影 | 亚洲另类交 | 999色视频 | 日韩二区在线观看 | 欧美日韩国产区 | 精品国产免费久久 | www五月婷婷 | 亚洲精品国产综合99久久夜夜嗨 | 成人免费观看视频大全 | 91麻豆精品国产 | 狠狠色丁香婷婷综合视频 | 国产 精品 资源 | 91精彩视频在线观看 | 亚洲激情六月 | 天天曰天天| 色偷偷888欧美精品久久久 | 日本特黄一级 | 日韩欧美网站 | 欧美在线一二 | 日本精品一二区 | 91亚洲网站| 麻豆一二 | 国产在线1区 | 成人av免费看 | 99久久综合狠狠综合久久 | 免费中文字幕视频 | 国产69精品久久久久99尤 | 亚洲在线视频免费观看 | 97视频在线观看成人 | 狠狠躁日日躁夜夜躁av | 久久综合五月天婷婷伊人 | 91私密视频 | 亚洲黄色成人 | 99久在线精品99re8热视频 | 婷婷六月中文字幕 | 欧美一级看片 | 精品五月天 | 激情五月婷婷丁香 | 国产在线观看污片 | 日韩av福利在线 | 亚洲 在线| 日韩免费看片 | 国产精品久久久久影院日本 | av黄在线播放 | 婷婷丁香激情 | 日本动漫做毛片一区二区 | 超级碰碰碰视频 | 久久国产精品免费一区二区三区 | 国产精品福利久久久 | 天天操天天透 | 欧美精品在线观看 | 久久成人国产精品免费软件 | 久久影院中文字幕 | 亚洲国产成人久久 | 在线观看免费高清视频大全追剧 | 欧美激情视频一区 | 最新色站| 中文字幕在线观看av | 免费看黄在线看 | 18性欧美xxxⅹ性满足 | 国产亚州精品视频 | 久久国产午夜精品理论片最新版本 | 久久久久久久久久久影院 | 在线国产能看的 | 日韩在线观看av | 日韩av一区二区三区 | 国产精品白丝jk白祙 | 在线观看韩国av | 日韩成人在线免费观看 | 日韩av在线看 | 在线免费中文字幕 | 久热免费在线 | 久久久久国 | 精品在线免费观看 | 天堂av网在线 | 最新av电影网址 | 正在播放 久久 | 免费日韩一区二区三区 | 色网址99| 在线一区观看 | 久久国产精品99久久久久久丝袜 | 日本久久免费视频 | 婷婷在线综合 | 久久综合之合合综合久久 | 国产毛片久久 | 成人av电影免费在线观看 | 欧美色精品天天在线观看视频 | 亚洲国产经典视频 | 日韩有码在线观看视频 | 欧美一区二区三区在线播放 | 97精品在线观看 | 久久在线 | 性色av免费观看 | 伊人手机在线 | 国产视频一区二区在线观看 | 探花系列在线 | 久久久久激情电影 | 97自拍超碰| 五月天激情综合 | 中文字幕九九 | 日韩视频免费观看高清 | 国产一级小视频 | 激情婷婷六月 | 国产在线观看91 | 国产成人一区二区三区电影 | 久久成年人视频 | 91麻豆精品国产91久久久久 | 在线观看黄色国产 | 色九九视频 | 日韩精品最新在线观看 | av字幕在线 | 午夜在线观看一区 | 视频在线一区二区三区 | 成人全视频免费观看在线看 | 在线免费试看 | 日日碰狠狠添天天爽超碰97久久 | 国产精品剧情 | 手机看片国产 | a级一a一级在线观看 | 99久久精品国产亚洲 | 奇米导航 | a级国产乱理伦片在线观看 亚洲3级 | 黄色三级av | 国产一区二区综合 | 日韩在线观看a | 国产成人91 | 九色最新网址 | 日韩在线观看的 | 成人免费看片98欧美 | 久久超级碰视频 | 97在线观看免费观看 | 九九久久精品视频 | 国产精品成人在线观看 | 国产高清久久久 | 日日夜夜天天操 | 成人欧美在线 | 久久精品视频在线观看 | 久草在线免费在线观看 | 精品一区二区电影 | 中文在线a∨在线 | 丁香激情网 | 精品久久久久久久久久久久 | 九七视频在线 | 久草视频资源 | 国产五十路毛片 | 香蕉网站在线观看 | 国产精品久久久777 成人手机在线视频 | 999视频在线播放 | 国产精品成人一区二区 | 久要激情网 | 亚洲h视频在线 | 97人人爽 | 久久国产精品99久久久久久老狼 | 国产精品免费人成网站 | 国产成人免费高清 | 国产一级高清 | 亚洲国产精品小视频 | 日韩精品免费在线观看 | 五月婷婷丁香综合 | 成片免费观看视频999 | 国产精品第二十页 | 国产精品成久久久久三级 | 色91在线 | 91精品久久久久久综合乱菊 | 国产高清综合 | a视频免费 | 日韩免费在线视频 | 国产精品久久久久久久久久久久冷 | 亚洲六月丁香色婷婷综合久久 | 亚洲在线观看av | 成年人视频在线免费 | 国产一区二区中文字幕 | 欧美天堂久久 | 午夜成人免费电影 | 国产理伦在线 | 中文字幕在线免费播放 | 日本久久久久久久久久 | 波多野结衣在线视频一区 | 国产精品久久久久久欧美 | 丁香婷婷激情 | 在线观看免费高清视频大全追剧 | 五月情婷婷 | 亚洲精品国产精品久久99热 | 国产精品成人一区 | 欧美精品一区二区性色 | 国产精成人品免费观看 | 青青久草在线 | 91精品专区 | 香蕉视频免费在线播放 | 成人免费在线观看电影 | 精品国产乱码久久久久久浪潮 | 久久r精品 | 欧美一区二区三区免费观看 | 日日添夜夜添 | 很黄很色很污的网站 | 麻豆视频观看 | 91亚洲精品久久久蜜桃网站 | 中文字幕中文字幕在线一区 | 色婷婷一| 欧美日韩1区2区 | 午夜久久福利视频 | 久久精品在线免费观看 | 色干综合 | 国产精品视频地址 | 国产精品黄网站在线观看 | 日韩精品中文字幕在线观看 | 中文字幕日韩免费视频 | 九九热免费在线视频 | 欧美精品久久久久久久久免 | 97人人爽 | 色综合五月天 | av免费网站观看 | 欧美 日韩 性 | 亚洲综合视频在线播放 | 欧美日韩久 | 天天操天天爽天天干 | 黄色av三级在线 | 91视频观看免费 | 免费毛片aaaaaa | 99久久精品国产一区二区成人 | 69视频国产| 中文字幕在线看视频 | 国产精品 9999 | 免费看在线看www777 | 天天干,天天射,天天操,天天摸 | 九九交易行官网 | 91理论电影 | 午夜精品电影 | 激情视频在线观看网址 | 五月天久久综合 | 国产成人精品999 | 国产精品视频专区 | 怡红院av久久久久久久 | 毛片网在线播放 | 国产69精品久久99的直播节目 | 国产福利小视频在线 | 国产v在线观看 | 久久久精品欧美一区二区免费 | 啪啪av在线| av在线网站免费观看 | 精品国产午夜 | 在线视频中文字幕一区 | 天天看天天干 | 九九九电影免费看 | 波多野结衣精品视频 | 激情久久久久久久久久久久久久久久 | 在线视频 一区二区 | 一区二区精品国产 | 国产成人一区二区三区免费看 | 欧美激情精品一区 | 日韩国产精品一区 | 99久久国产免费,99久久国产免费大片 | 中文字幕第一 | 国产经典三级 | 国产一级久久 | 亚洲国产美女精品久久久久∴ | 波多野结衣一区三区 | 国产亚洲激情视频在线 | 在线观看91久久久久久 | 免费在线黄网 | 又黄又爽又色无遮挡免费 | 国产免费专区 | 干狠狠| 国产成人精品在线 | 可以免费看av | av在线免费在线 | 天天做日日做天天爽视频免费 | 激情欧美xxxx | 国产一区二区三区视频在线 | 日韩网站在线观看 | 激情网五月婷婷 | 91色蜜桃 | 国产在线精品一区二区三区 | 成人久久久电影 | av片中文字幕 | 久久亚洲二区 | 99热这里只有精品免费 | 亚洲视频456 | 麻豆91小视频 | 丁香在线观看完整电影视频 | 日韩av一区二区在线 | 丁香婷婷色综合亚洲电影 | 日韩欧在线 | 国产91精品久久久久久 | 国产精品白虎 | 九九免费观看全部免费视频 | 久久成人国产精品一区二区 | 欧美二区三区91 | 久久私人影院 | 欧美肥妇free | 亚洲综合激情小说 | 久久99精品国产麻豆宅宅 | 成人精品影视 | 最近中文字幕免费大全 | 久久久久亚洲精品 | 免费观看黄色12片一级视频 | 国产香蕉视频在线播放 | 在线观看视频黄色 | 国产视频日韩视频欧美视频 | 久草综合在线观看 | 亚洲精品在线视频播放 | www.av在线.com| 久久96国产精品久久99漫画 | www视频在线播放 | 国产精品久久久久久模特 | 99久久这里只有精品 | 97视频在线观看视频免费视频 | 国内综合精品午夜久久资源 | 黄色亚洲片 | 亚洲免费公开视频 | 婷婷丁香激情 | 久久精品美女视频 | 欧美激情视频三区 | 九九热在线精品视频 |