<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_ITAres(范荣生)</title><subtitle type="text">寻爱网,寻找你的爱!http://www.iloveyou10000.comBT中国网http://www.btzg.net</subtitle><id>http://feed.cnblogs.com/blog/u/31976/rss</id><updated>2011-10-18T06:29:01Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/31976/rss"/><entry><id>http://www.cnblogs.com/ITAres/archive/2011/10/18/2216453.html</id><title type="text">不错的 solr 使用安装介绍</title><summary type="text">前些日子做了个 apache solr 应用的入门介绍，也在博客记录下，方便新手看看。以搜索论坛帖子为示例。1、先下载 Apache Solr 1.3http://apache.etoak.com/lucene/solr/1.3.0/apache-solr-1.3.0.zip，解压到如 E:\apache-solr-1.3.0。2、下载 Apache Tomcat 6.0.18http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip，解压到如 E:\apache-tomc</summary><published>2011-10-18T06:29:00Z</published><updated>2011-10-18T06:29:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/10/18/2216453.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/10/18/2216453.html"/><content type="html">&lt;span  style="font-family: Arial; line-height: 25px; background-color: #ffffff; "&gt;&lt;p&gt;前些日子做了个 apache solr 应用的入门介绍，也在博客记录下，方便新手看看。以搜索论坛帖子为示例。&lt;/p&gt;&lt;p&gt;1、先下载 Apache Solr 1.3&amp;nbsp;&lt;a target="_blank" href="http://apache.etoak.com/lucene/solr/1.3.0/apache-solr-1.3.0.zip" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://apache.etoak.com/lucene/solr/1.3.0/apache-solr-1.3.0.zip&lt;/span&gt;&lt;/a&gt;，解压到如 E:\apache-solr-1.3.0。&lt;/p&gt;&lt;p&gt;2、下载 Apache Tomcat 6.0.18&amp;nbsp;&lt;a target="_blank" href="http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip&lt;/span&gt;&lt;/a&gt;，解压到如 E:\apache-tomcat-6.0.18。&lt;/p&gt;&lt;p&gt;3、solr 安装到 tomcat。修改 E:\apache-tomcat-6.0.18\conf\server.xml，加个 URIEncoding="UTF-8"，把 8080 的那一块改为：&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;Connector&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;port&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"8080"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;protocol&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"HTTP/1.1"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;connectionTimeout&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"20000"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;redirectPort&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"8443"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;URIEncoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;把下面的内容保存到 E:\apache-tomcat-6.0.18\conf\Catalina\localhost\solr.xml，没有这个目录自行创建。&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;Context&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;docBase&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"E:/apache-solr-1.3.0/dist/apache-solr-1.3.0.war"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;reloadable&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;Environment&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr/home"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"java.lang.String"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;value&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"E:/apache-solr-1.3.0/example/solr"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;override&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;Context&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;solr 的更多方式请看：&lt;a target="_blank" href="http://wiki.chenlb.com/solr/doku.php?id=solrinstall" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;solr install&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;4、现在安装好，启动 tomcat，并打开&amp;nbsp;&lt;a target="_blank" href="http://localhost:8080/solr/admin/" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://localhost:8080/solr/admin/&lt;/span&gt;&lt;/a&gt;&amp;nbsp;看看界面。&lt;/p&gt;&lt;p&gt;5、为搜索论坛帖子应用设计索引结构：&lt;/p&gt;&lt;table border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;字段&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;id&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;帖子 id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;user&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;发表用户名或UserId&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;title&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;标题&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;content&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;内容&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;timestamp&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;发表时间&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;text&lt;/td&gt;&lt;td style="font-family: Arial; font-size: 14px; "&gt;把标题和内容放到这里，可以用同时搜索这些内容。&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;6、上面的索引结构告诉 solr，把下面的内容覆盖 E:\apache-solr-1.3.0\example\solr\conf\scheam.xml，（可以先备份这文件，方便以后看官方示例）：&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;schema&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"example"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.1"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;types&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fieldType&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"string"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr.StrField"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;sortMissingLast&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;omitNorms&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fieldType&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"sint"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr.SortableIntField"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;sortMissingLast&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;omitNorms&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;The&amp;nbsp;format&amp;nbsp;for&amp;nbsp;this&amp;nbsp;date&amp;nbsp;field&amp;nbsp;is&amp;nbsp;of&amp;nbsp;the&amp;nbsp;form&amp;nbsp;1995-12-31T23:59:59Z,&amp;nbsp;and &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;a&amp;nbsp;more&amp;nbsp;restricted&amp;nbsp;form&amp;nbsp;of&amp;nbsp;the&amp;nbsp;canonical&amp;nbsp;representation&amp;nbsp;of&amp;nbsp;dateTime &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://www.w3.org/TR/xmlschema-2/#dateTime &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The&amp;nbsp;trailing&amp;nbsp;"Z"&amp;nbsp;designates&amp;nbsp;UTC&amp;nbsp;time&amp;nbsp;and&amp;nbsp;is&amp;nbsp;mandatory. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optional&amp;nbsp;fractional&amp;nbsp;seconds&amp;nbsp;are&amp;nbsp;allowed:&amp;nbsp;1995-12-31T23:59:59.999Z &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;All&amp;nbsp;other&amp;nbsp;components&amp;nbsp;are&amp;nbsp;mandatory. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Expressions&amp;nbsp;can&amp;nbsp;also&amp;nbsp;be&amp;nbsp;used&amp;nbsp;to&amp;nbsp;denote&amp;nbsp;calculations&amp;nbsp;that&amp;nbsp;should&amp;nbsp;be &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;performed&amp;nbsp;relative&amp;nbsp;to&amp;nbsp;"NOW"&amp;nbsp;to&amp;nbsp;determine&amp;nbsp;the&amp;nbsp;value,&amp;nbsp;ie... &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOW/HOUR &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;Round&amp;nbsp;to&amp;nbsp;the&amp;nbsp;start&amp;nbsp;of&amp;nbsp;the&amp;nbsp;current&amp;nbsp;hour &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOW-1DAY &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;Exactly&amp;nbsp;1&amp;nbsp;day&amp;nbsp;prior&amp;nbsp;to&amp;nbsp;now &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NOW/DAY+6MONTHS+3DAYS &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;6&amp;nbsp;months&amp;nbsp;and&amp;nbsp;3&amp;nbsp;days&amp;nbsp;in&amp;nbsp;the&amp;nbsp;future&amp;nbsp;from&amp;nbsp;the&amp;nbsp;start&amp;nbsp;of &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;the&amp;nbsp;current&amp;nbsp;day &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Consult&amp;nbsp;the&amp;nbsp;DateField&amp;nbsp;javadocs&amp;nbsp;for&amp;nbsp;more&amp;nbsp;information. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fieldType&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"date"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr.DateField"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;sortMissingLast&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;omitNorms&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fieldType&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr.TextField"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;positionIncrementGap&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"100"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;analyzer&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;tokenizer&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;class&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"solr.CJKTokenizerFactory"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;analyzer&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fieldType&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;types&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fields&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"sint"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;required&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"string"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"date"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;default&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"NOW"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;catchall&amp;nbsp;field,&amp;nbsp;containing&amp;nbsp;all&amp;nbsp;other&amp;nbsp;searchable&amp;nbsp;text&amp;nbsp;fields&amp;nbsp;(implemented &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;via&amp;nbsp;copyField&amp;nbsp;further&amp;nbsp;on&amp;nbsp;in&amp;nbsp;this&amp;nbsp;schema&amp;nbsp;&amp;nbsp;--&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;indexed&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;stored&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"false"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;multiValued&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"true"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;fields&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;lt;!--&amp;nbsp;Field&amp;nbsp;to&amp;nbsp;use&amp;nbsp;to&amp;nbsp;determine&amp;nbsp;and&amp;nbsp;enforce&amp;nbsp;document&amp;nbsp;uniqueness. &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unless&amp;nbsp;this&amp;nbsp;field&amp;nbsp;is&amp;nbsp;marked&amp;nbsp;with&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;required&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"false"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;,&amp;nbsp;it&amp;nbsp;will&amp;nbsp;be&amp;nbsp;a&amp;nbsp;required&amp;nbsp;field &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;uniqueKey&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;id&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;uniqueKey&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;&amp;lt;!--&amp;nbsp;field&amp;nbsp;for&amp;nbsp;the&amp;nbsp;QueryParser&amp;nbsp;to&amp;nbsp;use&amp;nbsp;when&amp;nbsp;an&amp;nbsp;explicit&amp;nbsp;fieldname&amp;nbsp;is&amp;nbsp;absent&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;defaultSearchField&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;text&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;defaultSearchField&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;&amp;lt;!--&amp;nbsp;SolrQueryParser&amp;nbsp;configuration:&amp;nbsp;defaultOperator="AND|OR"&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;solrQueryParser&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;defaultOperator&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"AND"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;copyField&amp;nbsp;commands&amp;nbsp;copy&amp;nbsp;one&amp;nbsp;field&amp;nbsp;to&amp;nbsp;another&amp;nbsp;at&amp;nbsp;the&amp;nbsp;time&amp;nbsp;a&amp;nbsp;document &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;is&amp;nbsp;added&amp;nbsp;to&amp;nbsp;the&amp;nbsp;index.&amp;nbsp;&amp;nbsp;It's&amp;nbsp;used&amp;nbsp;either&amp;nbsp;to&amp;nbsp;index&amp;nbsp;the&amp;nbsp;same&amp;nbsp;field&amp;nbsp;differently, &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;or&amp;nbsp;to&amp;nbsp;add&amp;nbsp;multiple&amp;nbsp;fields&amp;nbsp;to&amp;nbsp;the&amp;nbsp;same&amp;nbsp;field&amp;nbsp;for&amp;nbsp;easier/faster&amp;nbsp;searching.&amp;nbsp;&amp;nbsp;--&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;&amp;lt;!--&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;copyField&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;dest&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;copyField&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;source&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;dest&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"text"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;/&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;schema&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;7、重启 tomcat，然后手动在 E:\apache-solr-1.3.0\example\exampledocs 创建两个 xml 数据文件。分别保存为 demo-doc1.xml 和 demo-doc2.xml：&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;add&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;1&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;chenlb&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;solr&amp;nbsp;应用演讲&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;这一小节是讲提交数据给服务器做索引，这里有一些数据，如：服务器，可以试查找它。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;add&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;add&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;bory.chan&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索引擎&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索服务器那边有很多数据。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T00:00:00Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;3&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;other&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;这是什么&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;你喜欢什么运动？篮球？&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T12:33:05.123Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;field&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;add&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;8、提交数据做索引，到 E:\apache-solr-1.3.0\example\exampledocs，运行：&lt;/p&gt;&lt;pre style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;E:\apache-solr-1.3.0\example\exampledocs&amp;gt;java -Durl=http://localhost:8080/solr/update -Dcommit=yes -jar post.jar demo-doc*.xml&#xD;
SimplePostTool: version 1.2&#xD;
SimplePostTool: WARNING: Make sure your XML documents are encoded in UTF-8, other encodings are not currently supported&#xD;
SimplePostTool: POSTing files to http://localhost:8080/solr/update..&#xD;
SimplePostTool: POSTing file demo-doc1.xml&#xD;
SimplePostTool: POSTing file demo-doc2.xml&#xD;
SimplePostTool: COMMITting Solr index changes..&lt;/pre&gt;&lt;p&gt;9、查看搜索结果：&lt;/p&gt;&lt;p&gt;所有内容&amp;nbsp;&lt;a target="_blank" href="http://localhost:8080/solr/select/?q=*%3A*&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://localhost:8080/solr/select/?q=*%3A*&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;span style="color: #e58712; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"responseHeader"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"status"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"QTime"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"params"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"indent"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;on&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"start"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"q"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;*:*&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"rows"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;10&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"version"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2.2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"response"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;numFound&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"3"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;start&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"0"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;这一小节是讲提交数据给服务器做索引，这里有一些数据，如：服务器，可以试查找它。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;1&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-05-27T04:07:54.89Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;solr&amp;nbsp;应用演讲&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;chenlb&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索服务器那边有很多数据。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T00:00:00Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索引擎&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;bory.chan&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;你喜欢什么运动？篮球？&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;3&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T12:33:05.123Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;这是什么&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;other&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;bory.chan 用户的：&lt;a target="_blank" href="http://localhost:8080/solr/select/?q=user%3Abory.chan&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://localhost:8080/solr/select/?q=user%3Abory.chan&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;span style="color: #e58712; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"responseHeader"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"status"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"QTime"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"params"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"indent"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;on&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"start"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"q"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;user:bory.chan&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"rows"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;10&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"version"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2.2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"response"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;numFound&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;start&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"0"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索服务器那边有很多数据。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T00:00:00Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索引擎&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;bory.chan&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;时间&amp;nbsp;&lt;a target="_blank" href="http://localhost:8080/solr/select/?q=timestamp%3A%5B%222009-02-18T00%3A00%3A00Z%22+TO+%222009-02-19T00%3A00%3A00Z%22%5D&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;http://localhost:8080/solr/select/?q=timestamp%3A%5B%222009-02-18T00%3A00%3A00Z%22+TO+%222009-02-19T00%3A00%3A00Z%22%5D&amp;amp;version=2.2&amp;amp;start=0&amp;amp;rows=10&amp;amp;indent=on&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;span style="color: #e58712; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;?&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;xml&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;version&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"1.0"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;encoding&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"UTF-8"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;?&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"responseHeader"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"status"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"QTime"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;16&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"params"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"indent"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;on&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"start"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;0&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"q"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;timestamp:["2009-02-18T00:00:00Z"&amp;nbsp;TO&amp;nbsp;"2009-02-19T00:00:00Z"]&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"rows"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;10&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"version"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2.2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;lst&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"response"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;numFound&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"2"&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;start&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"0"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索服务器那边有很多数据。&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T00:00:00Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;搜索引擎&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;bory.chan&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"content"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;你喜欢什么运动？篮球？&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"id"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;3&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;int&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"timestamp"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;2009-02-18T12:33:05.123Z&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;date&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"title"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;这是什么&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #ff0000; "&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;=&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #0000ff; "&gt;"user"&lt;/span&gt;&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;other&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;str&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;doc&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;result&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="border-width: initial; border-color: initial; color: #006699; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;lt;/&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;response&lt;/span&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&lt;/pre&gt;&lt;p&gt;常用的 solr 查询参数请看：&lt;a href="http://blog.chenlb.com/2009/03/solr-query-params-explain.html" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #e58712; "&gt;solr 查询参数说明&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;简单的示例已经完成了，索引文件（默认）会在 CWD/solr/data/index 目录下，要改为 solr.home/data目录下，在 F:\apache-solr-1.3.0\example\solr\conf\solrconfig.xml 把 dataDir 注释掉，如：&lt;/p&gt;&lt;div  style="width: 1556px; "&gt;&lt;div &gt;&lt;/div&gt;&lt;ol  style="border-width: initial; border-color: initial; "&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;&amp;lt;!--&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;&amp;lt;dataDir&amp;gt;${solr.data.dir:./solr/data}&amp;lt;/dataDir&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li  style="list-style-type: disc; border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&lt;span  style="border-width: initial; border-color: initial; "&gt;&lt;span style="border-width: initial; border-color: initial; color: #008200; "&gt;--&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="border-width: initial; border-color: initial; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;pre name="code"  style="margin-top: 0px; margin-bottom: 0px; margin-right: 0px; margin-left: 22px; font-size: 1em; "&gt;&amp;lt;!--&#xD;
  &amp;lt;dataDir&amp;gt;${solr.data.dir:./solr/data}&amp;lt;/dataDir&amp;gt;&#xD;
  --&amp;gt;&#xD;
&lt;/pre&gt;&lt;p&gt;说明：上面没有使用中文分词，用官方的 CJK 分词，另外有 mmseg4j 中文分词的示例，请看：&lt;a href="http://blog.chenlb.com/2009/04/solr-chinese-segment-mmseg4j-use-demo.html" style="color: #1d58d1; text-decoration: none; "&gt;&lt;span style="color: #b96f17; "&gt;solr 中文分词 mmseg4j 使用例子&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2216453.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/10/18/2216453.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/10/13/2209745.html</id><title type="text">stream.js ：一个新的JavaScript数据结构</title><summary type="text">stream.js 是一个很小、完全独立的Javascript类库，它为你提供了一个新的Javascript数据结构：streams.1&amp;lt;scriptsrc=&amp;#39;stream-min.js&amp;#39;&amp;gt;&amp;lt;/script&amp;gt;下载 stream.js(2Kb)streams是什么？Streams 是一个操作简单的数据结构，很像数组或链接表，但附加了一些非凡的能力。它们有什么特别之处？跟数组不一样，streams是一个有魔法的数据结构。它可以装载无穷多的元素。是的，你没听错。他的这种魔力来自于具有延后(lazily)执行的能力。这简单的术语完全能表明它们可以加载无穷多的元素</summary><published>2011-10-13T02:06:00Z</published><updated>2011-10-13T02:06:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/10/13/2209745.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/10/13/2209745.html"/></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/08/10/2133650.html</id><title type="text">Semaphore /ManualResetEvent /AutoResetEvent</title><summary type="text">Semaphore 这个允许你定义的个数同时访问waitOne 和 release之间的代码，超过定义的个数的线程只能等待正在运行的线程调用release释放信号量，如：Semaphore sem = new Semaphore(10,10);//定义同时可以有10个线程操作Thread[] threads = new Thread[20];for(int i = 0;i &amp;lt; threads.Length; i ++){threads[i] = new Thread(delegate(){sem.WaitOne();//执行操作的代码,这段代码只允许10个线程同时执行，除非执行线程执行完</summary><published>2011-08-10T06:19:00Z</published><updated>2011-08-10T06:19:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/08/10/2133650.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/08/10/2133650.html"/><content type="html">该文被密码保护。</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/07/13/2105440.html</id><title type="text">MongoDB学习笔记</title><summary type="text">find方法db.collection_name.find();查询所有的结果：select * from users;db.users.find();指定返回那些列（键）：select name, skills from users;db.users.find({},{&amp;#39;name&amp;#39;:1,&amp;#39;skills&amp;#39;:1});补充说明： 第一个{} 放where条件 第二个{} 指定那些列显示和不显示 （0表示不显示 1表示显示)where条件：1.简单的等于:select name, age, skills from users where name = &amp;#39;hur</summary><published>2011-07-13T08:19:00Z</published><updated>2011-07-13T08:19:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/07/13/2105440.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/07/13/2105440.html"/><content type="html">&lt;span  style="color: #333333; font-family: tahoma, arial, 宋体, sans-serif; font-size: 14px; line-height: 21px; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;find方法&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.collection_name.find();&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;查询所有的结果：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select * from users;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find();&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;指定返回那些列（键）：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select name, skills from users;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({},&amp;nbsp;{'name'&amp;nbsp;:&amp;nbsp;1,&amp;nbsp;'skills'&amp;nbsp;:&amp;nbsp;1});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;补充说明： 第一个{} 放where条件 第二个{} 指定那些列显示和不显示 （0表示不显示 1表示显示)&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;where条件：&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;1.简单的等于:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select name, age, skills from users where name = 'hurry';&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'name' : 'hurry'},{'name'&amp;nbsp;:&amp;nbsp;1, 'age' : 1, 'skills'&amp;nbsp;: 1});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;2.使用and&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select name, age, skills from users where name = 'hurry' and age = 18;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'name' : 'hurry', 'age'&amp;nbsp;: 18},{'name'&amp;nbsp;:&amp;nbsp;1, 'age' : 1, 'skills'&amp;nbsp;: 1});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;3.使用or&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select name, age, skills from users where name = 'hurry' or&amp;nbsp;age = 18;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({&amp;nbsp;'$or'&amp;nbsp;:&amp;nbsp;[{'name' : 'hurry'},&amp;nbsp;{'age'&amp;nbsp;: 18}]&amp;nbsp;},{'name'&amp;nbsp;:&amp;nbsp;1, 'age' : 1, 'skills'&amp;nbsp;: 1});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;4.&amp;lt;,&amp;nbsp;&amp;lt;=,&amp;nbsp;&amp;gt;,&amp;nbsp;&amp;gt;=&amp;nbsp;&lt;/strong&gt;&lt;strong&gt;($lt,&amp;nbsp;$lte,&amp;nbsp;$gt,&amp;nbsp;$gte&amp;nbsp;)&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select * from users where age &amp;gt;= 20 and age &amp;lt;= 30;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'age' : {'$gte' : 20, '$lte' : 30}});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;5.使用in,&amp;nbsp;not in&amp;nbsp;($in, $nin)&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select * from users where age in (10,&amp;nbsp;22,&amp;nbsp;26);&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'age'&amp;nbsp;:&amp;nbsp;{'$in' : [10, 22, 26]}});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;6.匹配null&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select * from users where age is null;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'age'&amp;nbsp;: null);&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;7.like (mongoDB 支持正则表达式)&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;select * from&amp;nbsp;users where&amp;nbsp;name like&amp;nbsp;"%hurry%";&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;db.users.find({name:/hurry&lt;/span&gt;&lt;span style="font-size: 14px; "&gt;/});&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;select&amp;nbsp;* from&amp;nbsp;users where&amp;nbsp;name like&amp;nbsp;"hurry%";&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;db.users.find({name:/^hurry&lt;/span&gt;&lt;span style="font-size: 14px; "&gt;/});&lt;/span&gt;&lt;span style="font-size: 14px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;8.使用distinct&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select distinct (name) from users;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;db.users.distinct('name');&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;9.使用count&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;select count(*) from users;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 14px; "&gt;db.users.count();&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;10.数组查询 （mongoDB自己特有的）&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;如果skills是 ['java','python']&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'skills'&amp;nbsp;:&amp;nbsp;'java'}); 该语句可以匹配成功&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;$all&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'skills'&amp;nbsp;:&amp;nbsp;{'$all'&amp;nbsp;:&amp;nbsp;['java','python']}}) skills中必须同时包含java 和 python&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;$size&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'skills'&amp;nbsp;:&amp;nbsp;{'$size'&amp;nbsp;: 2}}) 遗憾的是$size不能与$lt等组合使用&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;$slice&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;db.users.find({'skills'&amp;nbsp;:&amp;nbsp;{'$slice&amp;nbsp;: [1,1]}})&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;两个参数分别是偏移量和返回的数量&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;11.查询内嵌文档&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;12.强大的$where查询&lt;/strong&gt;&lt;/p&gt;db.foo.find();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;{ "_id" : ObjectId("4e17ce0ac39f1afe0ba78ce4"), "a" : 1, "b" : 3, "c" : 10 }&lt;br /&gt;{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }&lt;br /&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;如果要查询 b = c 的文档怎么办？&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;gt; db.foo.find({"$where":function(){&lt;/p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(var current in this){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; for(var other in this){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if(current != other &amp;amp;&amp;amp; this[current] == this[other]){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;}});&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }&lt;/span&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2105440.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/07/13/2105440.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/06/19/2084795.html</id><title type="text">MongoDB update操作文档</title><summary type="text">mongodb更新有两个命令：1).update()命令db.collection.update( criteria, objNew, upsert, multi )criteria : update的查询条件，类似sql update查询内where后面的objNew : update的对象和一些更新的操作符（如$,$inc...）等，也可以理解为sql update查询内set后面的upsert : 这个参数的意思是，如果不存在update的记录，是否插入objNew,true为插入，默认是false，不插入。multi : mongodb默认是false,只更新找到的第一条记录，如果这个</summary><published>2011-06-19T13:45:00Z</published><updated>2011-06-19T13:45:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084795.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084795.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Arial; line-height: 18px; font-size: 10px; color: #696969; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;mongodb更新有两个命令：&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;1).update()命令&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;db.collection.update( criteria, objNew, upsert, multi )&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;criteria : update的查询条件，类似sql update查询内where后面的&lt;br style="line-height: normal; " /&gt;objNew&amp;nbsp;&amp;nbsp; : update的对象和一些更新的操作符（如$,$inc...）等，也可以理解为sql update查询内set后面的&lt;br style="line-height: normal; " /&gt;upsert&amp;nbsp;&amp;nbsp; : 这个参数的意思是，如果不存在update的记录，是否插入objNew,true为插入，默认是false，不插入。&lt;br style="line-height: normal; " /&gt;multi&amp;nbsp;&amp;nbsp;&amp;nbsp; : mongodb默认是false,只更新找到的第一条记录，如果这个参数为true,就把按条件查出来多条记录全部更新。&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;例：&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } ); 只更新了第一条记录&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true ); 全更新了&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false ); 只加进去了第一条&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true ); 全加进去了&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );全更新了&lt;br style="line-height: normal; " /&gt;db.test0.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );只更新了第一条&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;2).save()命令&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;db.collection.save( x )&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;x就是要更新的对象，只能是单条记录。&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;如果在collection内已经存在一个和x对象相同的"_id"的记录。mongodb就会把x对象替换collection内已经存在的记录，否则将会插入x对象，如果x内没有_id,系统会自动生成一个再插入。相当于上面update语句的upsert=true,multi=false的情况。&lt;br style="line-height: normal; " /&gt;例：&lt;br style="line-height: normal; " /&gt;db.test0.save({count:40,test1:"OK"}); #_id系统会生成&lt;br style="line-height: normal; " /&gt;db.test0.save({_id:40,count:40,test1:"OK"}); #如果test0内有_id等于40的，会替换，否则插入。&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;mongodb的更新操作符：&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;1) $inc&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $inc : { field : value } }&lt;br style="line-height: normal; " /&gt;意思对一个数字字段field增加value，例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 16, "test1" : "TESTTEST", "test2" : "OK", "test3" : "TESTTEST", "test4" : "OK", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $inc : { "count" : 1 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 17, "test1" : "TESTTEST", "test2" : "OK", "test3" : "TESTTEST", "test4" : "OK", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $inc : { "count" : 2 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 19, "test1" : "TESTTEST", "test2" : "OK", "test3" : "TESTTEST", "test4" : "OK", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $inc : { "count" : -1 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : "TESTTEST", "test2" : "OK", "test3" : "TESTTEST", "test4" : "OK", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;2) $set&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $set : { field : value } }&lt;br style="line-height: normal; " /&gt;就是相当于sql的set field = value，全部数据类型都支持$set。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $set : { "test1" : "testv1","test2" : "testv2","test3" : "testv3","test4" : "testv4" } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : "testv1", "test2" : "testv2", "test3" : "testv3", "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;3) $unset&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $unset : { field : 1} }&lt;br style="line-height: normal; " /&gt;顾名思义，就是删除字段了。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $unset : { "test1":1 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test2" : "testv2", "test3" : "testv3", "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $unset : { "test2": 0 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test3" : "testv3", "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $unset : { "test3":asdfasf } } );&lt;br style="line-height: normal; " /&gt;Fri May 14 16:17:38 JS Error: ReferenceError: asdfasf is not defined (shell):0&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $unset : { "test3":"test" } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;没看出field : 1里面的1是干什么用的，反正只要有东西就行。&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;4) $push&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $push : { field : value } }&lt;br style="line-height: normal; " /&gt;把value追加到field里面去，field一定要是数组类型才行，如果field不存在，会新增一个数组类型加进去。例：&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $set : { "test1" : ["aaa","bbb"] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $push : { "test1": "ccc" } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb", "ccc" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $push : { "test2": "ccc" } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb", "ccc" ], "test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $push : { "test1": ["ddd","eee"] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb", "ccc", [ "ddd", "eee" ] ], "test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK" }5) $pushAll&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&lt;strong style="line-height: normal; "&gt;5) $pushAll&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $pushAll : { field : value_array } }&lt;br style="line-height: normal; " /&gt;同$push,只是一次可以追加多个值到一个数组字段内。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb", "ccc", [ "ddd", "eee" ] ], "test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $pushAll : { "test1": ["fff","ggg"] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "aaa", "bbb", "ccc", [ "ddd", "eee" ], "fff", "ggg" ], "test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;6)&amp;nbsp; $addToSet&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $addToSet : { field : value } }&lt;br style="line-height: normal; " /&gt;增加一个值到数组内，而且只有当这个值不在数组内才增加。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $addToSet : { "test1": {$each : ["444","555"] } } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : ["aaa","bbb","ccc",["ddd","eee"],"fff","ggg",["111","222"],"444","555"],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK"&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;}&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $addToSet : { "test1": {$each : ["444","555"] } } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : ["aaa","bbb","ccc",["ddd","eee"],"fff","ggg",["111","222"],"444","555"], "test2" : [ "ccc" ],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test4" : "testv4", "test5" : "OK"&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;}&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $addToSet : { "test1": ["444","555"] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : ["aaa","bbb","ccc",["ddd","eee"],"fff","ggg",["111","222"],"444","555",["444","555"]], "test2" : [ "ccc" ],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test4" : "testv4", "test5" : "OK"&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;}&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $addToSet : { "test1": ["444","555"] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : ["aaa","bbb","ccc",["ddd","eee"],"fff","ggg",["111","222"],"444","555",["444","555"]], "test2" : [ "ccc" ],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test4" : "testv4", "test5" : "OK"&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;}&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;7) $pop&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;删除数组内的一个值&lt;br style="line-height: normal; " /&gt;用法：&lt;br style="line-height: normal; " /&gt;删除最后一个值：{ $pop : { field : 1 } }删除第一个值：{ $pop : { field : -1 } }&lt;br style="line-height: normal; " /&gt;注意，只能删除一个值，也就是说只能用1或-1，而不能用2或-2来删除两条。mongodb 1.1及以后的版本才可以用，例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : ["bbb","ccc",["ddd","eee"],"fff","ggg",["111","222"],"444"],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK"&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;}&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $pop : { "test1": -1 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : ["ccc",["ddd","eee"],"fff","ggg",["111","222"],"444"],&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK"&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;}&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $pop : { "test1": 1 } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;nbsp;&amp;nbsp;"test1" : [ "ccc", [ "ddd", "eee" ], "fff", "ggg", [ "111", "222" ] ], "test2" : [ "ccc" ], "test4" : "testv4",&lt;br style="line-height: normal; " /&gt;&amp;nbsp;&amp;nbsp;"test5" : "OK"&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: 25px; font-family: Arial, 宋体; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;}&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;8) $pull&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：$pull : { field : value } }&lt;br style="line-height: normal; " /&gt;从数组field内删除一个等于value值。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "ccc", [ "ddd", "eee" ], "fff", "ggg", [ "111", "222" ] ], "test2" : [ "ccc" ], "test4" : "testv4",&lt;br style="line-height: normal; " /&gt;"test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $pull : { "test1": "ggg" } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "ccc", [ "ddd", "eee" ], "fff", [ "111", "222" ] ], "test2" : [ "ccc" ], "test4" : "testv4", "test5"&lt;br style="line-height: normal; " /&gt;: "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;9) $pullAll&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;用法：{ $pullAll : { field : value_array } }&lt;br style="line-height: normal; " /&gt;同$pull,可以一次删除数组内的多个值。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ "ccc", [ "ddd", "eee" ], "fff", [ "111", "222" ] ], "test2" : [ "ccc" ], "test4" : "testv4", "test5"&lt;br style="line-height: normal; " /&gt;: "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.update( { "_id" : 15 } , { $pullAll : { "test1": [ "ccc" , "fff" ] } } );&lt;br style="line-height: normal; " /&gt;&amp;gt; db.test0.find( { "_id" : 15 } );&lt;br style="line-height: normal; " /&gt;{ "_id" : { "floatApprox" : 15 }, "count" : 18, "test1" : [ [ "ddd", "eee" ], [ "111", "222" ] ], "test2" : [ "ccc" ], "test4" : "testv4", "test5" : "OK" }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&lt;strong style="line-height: normal; "&gt;10) $ 操作符&lt;/strong&gt;&lt;br style="line-height: normal; " /&gt;$是他自己的意思，代表按条件找出的数组里面某项他自己。呵呵，比较坳口。看一下官方的例子：&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find()&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" : "ABC", "comments" : [ { "by" : "joe", "votes" : 3 }, { "by" : "jane", "votes" : 7 } ] }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; t.update( {'comments.by':'joe'}, {$inc:{'comments.$.votes':1}}, false, true )&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find()&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4b97e62bf1d8c7152c9ccb74"), "title" : "ABC", "comments" : [ { "by" : "joe", "votes" : 4 }, { "by" : "jane", "votes" : 7 } ] }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;需要注意的是，$只会应用找到的第一条数组项，后面的就不管了。还是看例子：&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find();&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4b9e4a1fc583fa1c76198319"), "x" : [ 1, 2, 3, 2 ] }&lt;br style="line-height: normal; " /&gt;&amp;gt; t.update({x: 2}, {$inc: {"x.$": 1}}, false, true);&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find();&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;还有注意的是$配合$unset使用的时候，会留下一个null的数组项，不过可以用{$pull:{x:null}}删除全部是null的数组项。例：&lt;br style="line-height: normal; " /&gt;&amp;gt; t.insert({x: [1,2,3,4,3,2,3,4]})&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find()&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4bde2ad3755d00000000710e"), "x" : [ 1, 2, 3, 4, 3, 2, 3, 4 ] }&lt;br style="line-height: normal; " /&gt;&amp;gt; t.update({x:3}, {$unset:{"x.$":1}})&lt;br style="line-height: normal; " /&gt;&amp;gt; t.find()&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4bde2ad3755d00000000710e"), "x" : [ 1, 2, null, 4, 3, 2, 3, 4 ] }&lt;br style="line-height: normal; " /&gt;&lt;br style="line-height: normal; " /&gt;{ "_id" : ObjectId("4b9e4a1fc583fa1c76198319"), "x" : [ 1, 3, 3, 2 ] }&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: normal; font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br style="line-height: normal; " /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: normal; font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br style="line-height: normal; " /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: normal; font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;============ &amp;nbsp;数组元素操作示例 ================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: normal; font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;gt; db.arraytest.insert({id:2, name:'leon', comments:[{id:'011', content:'cmt11'}, {id:'012', content:'cmt12'}, {id:'013', content:'cmt13'}]})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: normal; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="line-height: normal; font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;1. 数组内的元素可以直接查询&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;gt; db.arraytest.find({'comments.id':'002'})&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;2. 更新数组中的某个节点的值,用$符号&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;db.arraytest.update({'comments.id':'012'}, {$set: {'comments.$.content':'cmtttt012'}})&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;3. 删除数组中的某一列，变成null&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;gt; db.arraytest.update({'comments.id':'012'}, {$unset: {'comments.$':1}})&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;4. 向数组中添加一个元素，如果之前没有元素则会新建数组&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&lt;/p&gt;&lt;p style="line-height: 25px; font-size: 14px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "&gt;&amp;gt; db.arraytest.update({'comments.id':'112'}, {$push: {'comments.$.reply': {'rid':'r21', content:'reply22'}}})&amp;nbsp;&lt;/p&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;============ &amp;nbsp;数组元素操作示例 ================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2084795.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084795.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/06/19/2084794.html</id><title type="text">MongoDB查询的语法</title><summary type="text">mongodb查询的语法本文参考自官方的手册：http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D1 ) . 大于，小于，大于或等于，小于或等于$gt:大于$lt:小于$gte:大于或等于$lte:小于或等于例子：db.collection.find({ &amp;quot;field&amp;quot; : { $gt: value } } ); // greater than : field &amp;gt; valuedb.co</summary><published>2011-06-19T13:43:00Z</published><updated>2011-06-19T13:43:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084794.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084794.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: tahoma, arial, 宋体, sans-serif; font-size: 11.6667px; color: #333333; "&gt;&lt;div style="font-size: 16px; font-family: 微软雅黑; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; line-height: 24px; color: #000000; cursor: default; height: 24px; overflow-x: hidden; overflow-y: hidden; "&gt;mongodb查询的语法&lt;/div&gt;&lt;div style="font-size: 10px; font-family: Georgia; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; line-height: 18px; color: #cccccc; "&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;table style="border-collapse: collapse; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; table-layout: fixed; width: 900px; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; "&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; overflow-x: hidden; overflow-y: hidden; position: static; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;本文参考自官方的手册：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a target="_blank" href="http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D" style="text-decoration: none; color: #5fa207; "&gt;&lt;span style="font-size: 18px; color: #000000; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1 ) . 大于，小于，大于或等于，小于或等于&lt;/strong&gt;&lt;br /&gt;$gt:大于&lt;br /&gt;$lt:小于&lt;br /&gt;$gte:大于或等于&lt;br /&gt;$lte:小于或等于&lt;br /&gt;例子：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.collection.find({ "field" : { $gt: value } } ); // greater than : field &amp;gt; value&lt;br /&gt;db.collection.find({ "field" : { $lt: value } } ); // less than : field &amp;lt; value&lt;br /&gt;db.collection.find({ "field" : { $gte: value } } ); // greater than or equal to : field &amp;gt;= value&lt;br /&gt;db.collection.find({ "field" : { $lte: value } } ); // less than or equal to : field &amp;lt;= value&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;如查询j大于3,小于4:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find({j : {$lt: 3}});&lt;br /&gt;db.things.find({j : {$gte: 4}});&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;也可以合并在一条语句内:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 &amp;lt; field &amp;lt; value&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;2) 不等于 $ne&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;例子：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { x : { $ne : 3 } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;strong&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;3) in 和 not in ($in $nin)&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;语法：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.collection.find( { "field" : { $in : array } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;例子：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find({j:{$in: [2,4,6]}});&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find({j:{$nin: [2,4,6]}});&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;4) 取模运算$mod&lt;/strong&gt;&lt;br /&gt;如下面的运算：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( "this.a % 10 == 1")&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;可用$mod代替：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a : { $mod : [ 10 , 1 ] } } )&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;5)&amp;nbsp; $all&lt;/strong&gt;&lt;br /&gt;$all和$in类似，但是他需要匹配条件内所有的值：&lt;br /&gt;如有一个对象：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;{ a: [ 1, 2, 3 ] }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;下面这个条件是可以匹配的：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a: { $all: [ 2, 3 ] } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;但是下面这个条件就不行了：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a: { $all: [ 2, 3, 4 ] } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;6)&amp;nbsp; $size&lt;/strong&gt;&lt;br /&gt;$size是匹配数组内的元素数量的，如有一个对象：{a:["foo"]}，他只有一个元素：&lt;br /&gt;下面的语句就可以匹配：&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a : { $size: 1 } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;官网上说不能用来匹配一个范围内的元素，如果想找$size&amp;lt;5之类的，他们建议创建一个字段来保存元素的数量。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;You cannot use&amp;nbsp;$size&amp;nbsp;to find a range of sizes (for example: arrays with more than 1 element). If you need to query for a range, create an extra&amp;nbsp;size&amp;nbsp;field that you increment when you add elements.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;7）$exists&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;$exists用来判断一个元素是否存在：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;如：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a : { $exists : true } } ); // 如果存在元素a,就返回&lt;br /&gt;db.things.find( { a : { $exists : false } } ); // 如果不存在元素a，就返回&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;8)&amp;nbsp; $type&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;$type&amp;nbsp;基于&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://bsonspec.org/" style="text-decoration: none; color: #5fa207; "&gt;&lt;span style="font-size: 18px; color: #000000; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;bson&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;nbsp;type来匹配一个元素的类型，像是按照类型ID来匹配，不过我没找到bson类型和id对照表。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a : { $type : 2 } } ); // matches if a is a string&lt;br /&gt;db.things.find( { a : { $type : 16 } } ); // matches if a is an int&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;9）正则表达式&lt;/strong&gt;&lt;br /&gt;mongo支持正则表达式，如：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.customers.find( { name : /acme.*corp/i } ); // 后面的i的意思是区分大小写&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;10)&amp;nbsp; 查询数据内的值&lt;/strong&gt;&lt;br /&gt;下面的查询是查询colors内red的记录，如果colors元素是一个数据,数据库将遍历这个数组的元素来查询。&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { colors : "red" } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;strong&gt;11) $elemMatch&lt;/strong&gt;&lt;br /&gt;如果对象有一个元素是数组，那么$elemMatch可以匹配内数组内的元素：&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;gt; t.find( { x : { $elemMatch : { a : 1, b : { $gt : 1 } } } } )&amp;nbsp;&lt;br /&gt;{ "_id" : ObjectId("4b5783300334000000000aa9"),&amp;nbsp;&lt;br /&gt;"x" : [ { "a" : 1, "b" : 3 }, 7, { "b" : 99 }, { "a" : 11 } ]&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;$elemMatch : { a : 1, b : { $gt : 1 } } 所有的条件都要匹配上才行。&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;注意，上面的语句和下面是不一样的。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;gt; t.find( { "x.a" : 1, "x.b" : { $gt : 1 } } )&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;$elemMatch是匹配{&amp;nbsp;"a"&amp;nbsp;: 1,&amp;nbsp;"b"&amp;nbsp;: 3 }，而后面一句是匹配{&amp;nbsp;"b"&amp;nbsp;: 99 }, {&amp;nbsp;"a"&amp;nbsp;: 11 }&amp;nbsp;&lt;br /&gt;&lt;br /&gt;12)&amp;nbsp; 查询嵌入对象的值&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.postings.find( { "author.name" : "joe" } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;注意用法是author.name，用一个点就行了。更详细的可以看这个链接：&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.mongodb.org/display/DOCS/Dot+Notation+%28Reaching+into+Objects%29" style="text-decoration: none; color: #5fa207; "&gt;&lt;span style="font-size: 18px; color: #000000; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;dot notation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;举个例子：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;gt; db.blog.save({ title : "My First Post", author: {name : "Jane", id : 1}})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;如果我们要查询 authors name 是Jane的, 我们可以这样：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&amp;gt; db.blog.findOne({"author.name" : "Jane"})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;如果不用点，那就需要用下面这句才能匹配：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.blog.findOne({"author" : {"name" : "Jane", "id" : 1}})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;下面这句：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.blog.findOne({"author" : {"name" : "Jane"}})&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;是不能匹配的，因为mongodb对于子对象，他是精确匹配。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;13) 元操作符 $not 取反&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;如：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.customers.find( { name : { $not : /acme.*corp/i } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; "&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;db.things.find( { a : { $not : { $mod : [ 10 , 1 ] } } } );&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size: 18px; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;mongodb还有很多函数可以用，如排序，统计等，请参考原文。&lt;br /&gt;&lt;br /&gt;mongodb目前没有或(or)操作符，只能用变通的办法代替，可以参考下面的链接：&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.mongodb.org/display/DOCS/OR+operations+in+query+expressions" target="_blank" style="text-decoration: none; color: #5fa207; "&gt;&lt;span style="font-size: 18px; color: #000000; font-family: Arial, 宋体; "&gt;&lt;span style="line-height: 25px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; font-size: 11.6667px; "&gt;http://www.mongodb.org/display/DOCS/OR+operations+in+query+expressions&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2084794.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/06/19/2084794.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/04/22/2024616.html</id><title type="text">TCP/IP传输层，你懂多少？</title><summary type="text">你所不知道的传输层题记：23页的文档上，满满当当的写满了笔记，纸质的东西，始终害怕丢失，还是选择把它总结到博客上来。PS.老规矩，列出可能遇到的20个问题，如果您是都能回答的高手，请您绕道，我是小菜，只做自己的学习笔记。1.传输层的主要功能是什么？2.传输层如何区分不同应用程序的数据流？3.传输层有哪些协议？4.什么是UDP协议？5.为什么有了UDP，还需要TCP？6.什么是TCP协议？7.怎么理解协议和程序？8.TCP是否真的有链接？9.链接是如何建立的（逻辑上）？10.所谓的建立TCP链接开销很大，具体是指什么？11.三次握手的目的是什么？12.TCP如何提供可靠性？13.什么是预期确认？</summary><published>2011-04-22T02:33:00Z</published><updated>2011-04-22T02:33:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/04/22/2024616.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/04/22/2024616.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="color: #000000; font-size: x-large; "&gt;你所不知道的传输层&lt;/span&gt;&lt;/p&gt;&lt;table border="1" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 1em; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;题记：23页的文档上，满满当当的写满了笔记，纸质的东西，始终害怕丢失，还是选择把它总结到博客上来。&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;PS.老规矩，列出可能遇到的20个问题，如果您是都能回答的高手，请您绕道，我是小菜，只做自己的学习笔记。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;1.&amp;nbsp;传输层的主要功能是什么？&lt;br /&gt;2.&amp;nbsp;传输层如何区分不同应用程序的数据流？&lt;br /&gt;3.&amp;nbsp;传输层有哪些协议？&lt;br /&gt;4.&amp;nbsp;什么是UDP协议？&lt;br /&gt;5.&amp;nbsp;为什么有了UDP，还需要TCP？&lt;br /&gt;6.&amp;nbsp;什么是TCP协议？&lt;br /&gt;7.&amp;nbsp;怎么理解协议和程序？&lt;br /&gt;8.&amp;nbsp;TCP是否真的有链接？&lt;br /&gt;9.&amp;nbsp;链接是如何建立的（逻辑上）？&lt;br /&gt;10.&amp;nbsp;所谓的建立TCP链接开销很大，具体是指什么？&lt;br /&gt;11.&amp;nbsp;三次握手的目的是什么？&lt;br /&gt;12.&amp;nbsp;TCP如何提供可靠性？&lt;br /&gt;13.&amp;nbsp;什么是预期确认？什么是肯定确认与重新传输？哪些情况会重传？&lt;br /&gt;14.&amp;nbsp;TCP中，序列号和应答号有哪些作用？&lt;br /&gt;15.&amp;nbsp;TCP链接中，网络失败，是怎么判断的？&lt;br /&gt;16.&amp;nbsp;为什么需要窗口技术？&lt;br /&gt;17.&amp;nbsp;如何实现流量控制？&lt;br /&gt;18.&amp;nbsp;UDP的开销很小，具体是指什么？&lt;br /&gt;19.&amp;nbsp;UDP数据包、TCP数据包大小如何确认？&lt;br /&gt;20.&amp;nbsp;UDP适合哪些环境？TCP适合哪些环境？&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: large; "&gt;&lt;span style="color: #ff0000; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="font-size: large; "&gt;&lt;span style="color: #ff0000; "&gt;&lt;strong style="font-weight: bold; "&gt;一。&lt;span&gt;传输层的主要功能是什么？&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;&lt;span style="color: #ff6600; "&gt;分割&lt;/span&gt;&lt;span style="color: #ff6600; "&gt;并&lt;span&gt;重新组装&lt;/span&gt;上层提供的数据流，为数据流提供&lt;span style="color: #ff6600; "&gt;端到端&lt;/span&gt;的传输服务。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span style="font-size: large; "&gt;&lt;span style="color: #ff0000; "&gt;&lt;strong style="font-weight: bold; "&gt;二。&lt;span&gt;传输层如何区分不同应用程序的数据流？&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span&gt;&lt;span&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;因为，对应传输层而言，它只需要知道目标主机上的哪个服务程序来响应这个程序，而不需要知道这个服务程序是干什么的。因此，我们只需要能够抽象的表示出来这些应用程序和服务程序即可。&lt;span style="color: #ff6600; "&gt;我们使用端口号来抽象标识每个网络程序。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;table border="1" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 1em; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: small; "&gt;&lt;span style="color: #99cc00; "&gt;&lt;strong style="font-weight: bold; "&gt;传输层的TCP和UDP可以接收来自多个应用程序的数据流，用端口号标识他们，然后把他们送给Internet层处理；&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: small; "&gt;&lt;span style="color: #99cc00; "&gt;&lt;strong style="font-weight: bold; "&gt;同时TCP和UDP接收来自Internet层的数据包，用端口号区分他们，然后交给不同的应用程序。&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 150px; "&gt;&lt;br /&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;img src="http://dl.iteye.com/upload/attachment/466153/28608982-41c0-32f8-bb3c-76c67f818ef8.png" alt="" width="355" height="155" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;因此：在同一IP地址（同一个目标主机）上不同的端口号是两个不同的链接。&lt;/span&gt;&lt;span style="color: #ff6600; "&gt;IP地址和端口号用来唯一的确定网络上数据的目的地。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 150px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;三。传输层有哪些协议？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;传输层的两大协议：&lt;span style="color: #ff6600; "&gt;TCP（传输控制协议）UDP（用户数据包协议）&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;TCP是一个可靠的面向链接的协议，UDP是不可靠的或者说无连接的协议。&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;可以用打电话和发短信来说明这种关系：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;UDP就好似发短信，只管发出去，至于对方是不是空号（网络不可到达）能不能收到（丢包）等并不关心。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;TCP好像打电话，双方要通话，首先，要确定对方不是开机（网络可以到达），然后要确定是不是没有信号（），然后还需要对方接听（通信链接）。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;四。什么是UDP协议？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;br /&gt;UDP数据包结构如下图所示&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0" style="border-bottom-width: medium; border-bottom-style: none; border-bottom-color: initial; border-left-width: medium; border-left-style: none; border-left-color: initial; margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: 72pt; border-collapse: collapse; border-top-width: medium; border-top-style: none; border-top-color: initial; border-right-width: medium; border-right-style: none; border-right-color: initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="236" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;源端口&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="236" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;目标端口&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="236" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;报文长度&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="236" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;校验和&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" width="472" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 354.1pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;数据（可变）&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span&gt;UDP为应用程序提供的是一种不可靠的、无连接的分组交付，因此，UDP报文可能会出现丢失、乱序、重复、延时等问题。&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="0" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 1em; "&gt;因为它不提供可靠性，它的开销很小。（&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #ff6600; "&gt;开销很小具体指什么？&lt;/span&gt;&lt;/strong&gt;下文揭秘）&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;五。为什么有了UDP，还需要TCP？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;问题4中已经说到，UDP为应用程序提供的是一种无连接、不可靠的分组交付。&lt;span style="color: #ff0000; "&gt;&lt;span style="color: #ff6600; "&gt;当网络硬件失效或者负担太重时，数据包可能就会产生丢失、重复、延时、乱序的现象。&lt;/span&gt;&lt;/span&gt;这些都会导致我们的通信不正常。&lt;span style="color: #ff0000; "&gt;&lt;span style="color: #99cc00; "&gt;如果让应用程序来担负差错控制的工作，无疑将给程序员带来许多复杂的工作，于是，我们使用独立的通信协议来保证通信的可靠性是非常必要的。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;六。什么是TCP协议？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&amp;nbsp;传输控制协议TCP是一个面向链接的、可靠的通信协议。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 90px; "&gt;&lt;br /&gt;&lt;span style="color: #ff0000; font-size: medium; "&gt;&lt;span style="color: #99cc00; "&gt;1.&amp;nbsp;在开始传输前，需要进行三次握手建立链接&lt;br /&gt;2.&amp;nbsp;可靠性：在传输过程中，通信双方的协议模块继续进行通信&lt;br /&gt;3.&amp;nbsp;通信结束后，通信双方都会使用改进的三次握手来关闭链接&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;TCP数据包结构如下图&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0" style="border-bottom-width: medium; border-bottom-style: none; border-bottom-color: initial; border-left-width: medium; border-left-style: none; border-left-color: initial; margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: 72pt; border-collapse: collapse; border-top-width: medium; border-top-style: none; border-top-color: initial; border-right-width: medium; border-right-style: none; border-right-color: initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="3" width="236" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;源端口&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="236" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;目标端口&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" width="472" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 354.1pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;序号&lt;span style="font-family: Calibri; "&gt;(32)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" width="472" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 354.1pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;应答号&lt;span style="font-family: Calibri; "&gt;(32)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td width="79" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 59pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;头长度&lt;span style="font-family: Calibri; "&gt;(4)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="79" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 59pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;保留&lt;span style="font-family: Calibri; "&gt;(6)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="79" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 59.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;编码位&lt;span style="font-family: Calibri; "&gt;(6)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="236" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;窗口&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" width="236" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;校验和&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td width="236" valign="top" style="font-size: 1em; border-left-color: #f0f0f0; border-left-width: initial; border-left-style: initial; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 177.05pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;紧急&lt;span style="font-family: Calibri; "&gt;(16)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" width="472" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 354.1pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;可选项&lt;span style="font-family: Calibri; "&gt;(&lt;/span&gt;如果有，&lt;span style="font-family: Calibri; "&gt;0&lt;/span&gt;或&lt;span style="font-family: Calibri; "&gt;32)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="4" width="472" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 354.1pt; padding-right: 5.4pt; border-top-color: #f0f0f0; border-top-width: initial; border-top-style: initial; padding-top: 0cm; "&gt;&lt;p align="center" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: center; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;数据&lt;span style="font-family: Calibri; "&gt;(&lt;/span&gt;可变&lt;span style="font-family: Calibri; "&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;**七。怎么理解协议和程序？**&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;如同我们自定义的应用层协议一样：&lt;/span&gt;&lt;span style="color: #ff0000; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #ff6600; "&gt;协议只是给出了一组规范，规定我们应该怎么样（按什么规则）保存数据。&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;在计算机间传输的永远都是二进制字节码（对于传输层，可以理解为传输的始终是下层的IP数据包），&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #00ff00; "&gt;是&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #00ff00; "&gt;计算机中的程序通过对这些字节码进行逻辑分析、判断，来控制程序完成差错控制等功能。&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;至于解析这些字节码的程序，则可以有不同的实现，&lt;span style="color: #99cc00; "&gt;只要我们按照规则来解析，并作出相应的控制，我们大可以自己写个程序是实现相应功能。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0" style="border-bottom-width: medium; border-bottom-style: none; border-bottom-color: initial; border-left-width: medium; border-left-style: none; border-left-color: initial; margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: 72pt; border-collapse: collapse; border-top-width: medium; border-top-style: none; border-top-color: initial; border-right-width: medium; border-right-style: none; border-right-color: initial; "&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="568" valign="top" style="font-size: 1em; padding-bottom: 0cm; background-color: transparent; padding-left: 5.4pt; width: 426.1pt; padding-right: 5.4pt; padding-top: 0cm; "&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="font-size: 10.5pt; "&gt;&lt;span&gt;知道了这些后，显然，我们也可以使用前面说的Jpcap，来自己实现一个基于Java的TCP或者UDP协议。可以参考Linux下的Tcp源码。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;/net/ipv4/udp.c&lt;br /&gt;/net/ipv4/datagram.c&amp;nbsp;&lt;br /&gt;/net/ipv4/tcp_input.c&amp;nbsp;&lt;br /&gt;/net/ipv4//tcp_output.c&amp;nbsp;&lt;br /&gt;/net/ipv4/tcp.c &amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;八。TCP是否真的有链接？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;我们都知道，TCP通过完成三次握手来建立链接的，但是&lt;span style="color: #ff6600; "&gt;这种连接是面向虚电路的，是物理上不存在的&lt;/span&gt;&lt;span style="color: #000000; "&gt;，&lt;/span&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;只是双方的TCP程序，逻辑上的认为建立了这样的链接&lt;/strong&gt;&lt;/span&gt;&lt;strong style="font-weight: bold; "&gt;。&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;strong style="font-weight: bold; "&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;九。链接是如何建立的（逻辑上）？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;假设：当我们在主机&lt;span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "&gt;A&lt;/span&gt;上启动一个程序，通过&lt;span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "&gt;TCP&lt;/span&gt;去链接主机&lt;span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "&gt;B&lt;/span&gt;上的&lt;span style="font-size: 10.5pt; font-family: Calibri, sans-serif; "&gt;9091&lt;/span&gt;端口。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;br /&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;img src="http://dl.iteye.com/upload/attachment/466160/8d6c228f-609b-30e5-b8ca-dbb590ad0ce0.png" alt="" width="504" height="168" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; " /&gt;&lt;br /&gt;&amp;nbsp;&lt;span&gt;整个过程是怎么样的呢？逻辑上我们可以这么理解建立链接的过程：&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #00ff00; font-size: medium; "&gt;1.SYN:seq=X;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;1.1 A的TCP程序，为这个链接分配一个端口（设为9090）。&lt;br /&gt;1.2 同时&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;逻辑上&lt;/strong&gt;&lt;/span&gt;的将TCP连接的状态设置为：正在连接。（&lt;span style="color: #99cc00; "&gt;通过在链接状态表中添加一条记录，记录中状态为：正在连接）&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; text-align: center; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;猜想：&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;/p&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 1em; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;TCP程序中， 应该有张表来保持链接的状态，其中每个状态应该有：&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;本机地址（IP加port）、对方地址、链接状态&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;1.3 同时，随机生成一个初始序列号X，生成一个TCP包，将初始化序列号X设置为TCP中的序列号，发送给主机B。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #00ff00; font-size: medium; "&gt;&lt;strong style="font-weight: bold; "&gt;2.SYN:seq=Y ACK:ack=X+1;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;2.1 B上TCP程序收到该数据包，查询9091端口状态，如果可以链接。&lt;br /&gt;2.2 同样的，在逻辑上的将TCP连接的状态设置为：正在连接&lt;br /&gt;2.3 同时，随机生成一个初始化序列号Y，根据接收的序列号X，生成应答号X+1，生成一个TCP包，将序列号和应答号分别设置到TCP包头中，将TCP数据包发给主机A。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #00ff00; font-size: medium; "&gt;&lt;strong style="font-weight: bold; "&gt;3.SYN:seq=X+1 ACK:ack=Y+1.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;3.1&amp;nbsp; A上的TCP程序接收到数据包，查询9090端口状态。&lt;br /&gt;3.2 根据收到的SYN:seq=Y;ACK:ack=X+1; 封装一个TCP包 SYN:seq=x+1;ACK:ack=Y+1;发送给主机B。同时，TCP程序将链接状态表中该条记录状态设置为已连接。&lt;br /&gt;3.3 主机B收到数据包，TCP程序将链接状态表中该条记录状态设置为已连接。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;至此，一个TCP链接建立（三次握手）完成。&lt;br /&gt;我们可以看到：&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000; font-size: medium; "&gt;第一：传送的都是IP数据包，其实只是将收到的数据包交给TCP程序处理。&lt;br /&gt;第二：&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #ff6600; "&gt;链接状态，只是TCP程序中的一个逻辑状态。&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十：所谓的建立TCP链接开销很大，具体是指什么？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;从九中，很容易看出。要简历TCP链接，必须进行三次IP数据包的成功传输。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十一：三次握手的目的是什么？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #000000; "&gt;TCP是面向链接的，在面向链接的环境中，开始传输数据之前，在两个中端之间必须先建立一个链接。&lt;/span&gt;&lt;span style="color: #ff6600; "&gt;建立链接的过程可以确保通信双方在发送应用程序数据包之前，都已经准备好了传送和接收数据。&lt;/span&gt;&lt;span style="color: #ff6600; "&gt;&lt;span style="color: #00ff00; "&gt;并且使通信双方统一了初始化序列号。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;十二：TCP如何提供可靠性？&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;在传输过程中，通信双方的协议模块继续进行通信，从而确保了传输的可靠性。&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;针对乱序：&lt;/strong&gt;&lt;/span&gt;在通过三次握手进行链接时，序列号被初始化。在传输过程中，TCP继续使用这个序列号来标记发送的每一个数据段，没传送一个数据段，序列号加一。&lt;span style="color: #ff6600; "&gt;接收方依据序列号重装收到的数据段。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;针对丢包&lt;/strong&gt;：&lt;/span&gt;在传输过程中，接收方收到一个数据段后，会用ACK应答码向发送端回复一个IP包进行应答，确认号ACK用来告诉发送端哪些数据包已经成功接收，&lt;span style="color: #ff6600; "&gt;发送方对未被应答的报文段提供重传&lt;/span&gt;。&lt;br /&gt;&lt;strong style="font-weight: bold; "&gt;&lt;span style="color: #00ff00; "&gt;针对重复&lt;/span&gt;&lt;/strong&gt;：&lt;/span&gt;接收端收到数据段后，查看序列号，如果已经成功接收改数据包，则丢弃后面这个数据段。&lt;br /&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;针对延时&lt;/strong&gt;：&lt;/span&gt;延时造成的第一个问题，就是数据包达到接收端时乱序。&lt;br /&gt;当延时严重时，接收端一直未收到数据段，则不会回复ACK，发送端认为丢包，重发。&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十三：什么是预期确认？什么是肯定确认与重新传输？哪些情况会重传？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;1.确认号ACK会告诉发送端哪些数据段已经成功接收，并且确认号会向发送端指出接收端希望收到的下一个序列号。即，确实号ACK为上个数据序列号+1，这种机制称为&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;预期确认&lt;/strong&gt;&lt;/span&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;br /&gt;2.为了提高效率，我们在发送端，将数据段保存在缓冲区中，直道发送端收到来自接收端的确认号。这种机制被称为&amp;#8220;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;肯定确认与重新传输&lt;/strong&gt;&lt;/span&gt;&amp;#8221;。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;br /&gt;3.当&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;发送端在给定时间间隔内收不到那个数据段的应答时，发送端就会重传那个数据段&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;。&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;情况1：网络延时/环路，数据段丢失&lt;br /&gt;情况2：网络延时，数据段推迟到达&lt;br /&gt;情况3：数据段成功到达，应答因为1.2不能达到。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十四：&amp;nbsp;TCP中，序列号和应答号有哪些作用？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;从以上10,11,12中，很明显的可以看到&lt;/span&gt;&lt;/p&gt;&lt;ol style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&lt;ol style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&lt;ol style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;依靠序列号重组数据段&lt;/span&gt;&lt;/li&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;依靠数据包消除网络中的重复包&lt;/span&gt;&lt;/li&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;依靠序列号和应答号进行差错重传，提高了TCP的可靠性&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十六：为什么需要窗口技术？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;前面我们已经说了，TCP的可靠性，是通过预期确认来实现的。即发送方发送一个数据段后，需要得到对方的确认后，才会发送下一个数据段。&lt;br /&gt;因此，假设一个数据段大小为64KB（IP包最大值），一次发送和确认需要的时间为500MS，则，1S内，只能传送128KB的数据，如果带宽为1M，显然很浪费带宽。&lt;span style="color: #00ff00; "&gt;为了充分利用带宽，我们使用窗口技术。&lt;/span&gt;&lt;span style="color: #ff6600; "&gt;滑动窗口允许发送方在收到接收方的确认之前发送多个数据段&lt;/span&gt;。（窗口大小决定了在收到确认前可以发送的数据段数量）&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十七：如何实现流量控制？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff6600; "&gt;&lt;strong style="font-weight: bold; "&gt;窗口数决定了当前传输的最大流量&lt;/strong&gt;&lt;/span&gt;。当我们在传输过程中，通信双方可以根据网络条件&lt;span style="color: #00ff00; "&gt;动态协商窗口大小，调整窗口大小时，即可实现流量控制。&lt;/span&gt;（在TCP的每个确认中，除了ACK外，还包括一个窗口通知）&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十八：UDP的开销很小，具体是指什么？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;1.因为UDP是无连接的。在&lt;span style="color: #00ff00; "&gt;传输数据之前&lt;/span&gt;，不&lt;span style="color: #ff6600; "&gt;需要进行复杂的三次握手来建立连接。&lt;br /&gt;&lt;/span&gt;2.&lt;span style="color: #00ff00; "&gt;在传输数据时&lt;/span&gt;，&lt;span style="color: #ff6600; "&gt;没有协议间通信流量&lt;/span&gt;（确认信号），也不需要浪费不必要的处理时间（接收确认信号再发一下）。&lt;br /&gt;3；&lt;span style="color: #00ff00; "&gt;传输结束后&lt;/span&gt;，也&lt;span style="color: #ff6600; "&gt;不用再用改进的三次握手来端口连接&lt;/span&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;十九：UDP数据包、TCP数据包大小如何确认？&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&amp;nbsp;&lt;ol style="font-size: 1em; line-height: 1.4em; margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;无论TCP还是UDP数据包，都需要交给Internet层封装为IP包，而一个IP包，包头中的长度位为16位，所以IP包最大为2的16方，即&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;65535&lt;/strong&gt;&lt;/span&gt;（64KB还需要减去各种包头长度）。&lt;/span&gt;&lt;/li&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;TCP因为面向流，且可以凭借序列号对大文件进行分段和重组，因此，&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;TCP可以用来传输较大的文件&lt;/strong&gt;&lt;/span&gt;。而&lt;span style="color: #00ff00; "&gt;&lt;span style="color: #ff6600; "&gt;UDP，如果要传输大于64KB的数据，则需要自己在应用层进行差错控制&lt;/span&gt;。&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff6600; "&gt;为了提高传输效率和减少网络通信量（协议间的通信），TCP也会一次传输足够多的数据&lt;/span&gt;。&lt;/span&gt;&lt;/li&gt;&lt;li style="font-size: 1em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;br /&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff6600; "&gt;因为MTU的存在，TCP包和UDP包不是越大越好&lt;/span&gt;。（在路由中分包，在接收端重组，加大路由与接收端负担，增大丢包概率。分组丢失，整个数据包重传。）&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;&lt;span style="color: #ff0000; font-size: large; "&gt;&lt;strong style="font-weight: bold; "&gt;二十：UDP适用哪些环境？TCP适用哪些环境？&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; font-size: medium; "&gt;适合UDP的环境：&lt;br /&gt;1.在&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;高效可靠的网络&lt;/strong&gt;环境中&lt;/span&gt;（不需要考虑网络不好导致的丢包、乱序、延时、重复等问题），因为UDP是无连接的服务，&lt;span style="color: #ff6600; "&gt;不用消耗不必要的网络资源（TCP中的协议间通信）和处理时间（预期确认需要的时间），&lt;/span&gt;从而效率要高的多。&lt;br /&gt;2.在&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;轻权通信&lt;/strong&gt;中&lt;/span&gt;，当需要传输的数据量很小（可以装在一个IP数据包内）时。如果我们使用TCP协议，那么，先建立连接，一共需要发送3个IP数据包，然后数据传输，1个IP数据包，产生一个确认信号的IP包，然后关闭连接，需要传输5个IP数据包。&lt;span style="color: #ff6600; "&gt;使用TCP协议IP包的利用率为1/10&lt;/span&gt;。而使用UDP，只需要发送一个IP数据包。哪怕丢包（服务不成功），也可重新申请服务（重传）。&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="1" align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-size: 1em; "&gt;&lt;span style="font-size: medium; "&gt;注：而且无论UDP还是TCP，传输的都是IP数据包。当网络环境不好导致丢包时，无论TCP还是UDP都会丢包，这是没有区别的。（如果考虑发送丢包，那么TCP效率更低），只是使用TCP，当连接建立成功后，TCP程序会进行可靠性控制。&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="color: #ff6600; "&gt;&lt;strong style="font-weight: bold; "&gt;UDP很适合这种客户机向服务器传送简单服务请求的环境&lt;/strong&gt;&lt;/span&gt;。此类应用层协议包括TFTP , SNMP , DNS ,DHCP等。&lt;br /&gt;3.在&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;对实时性要求很强&lt;/strong&gt;的通信中&lt;/span&gt;：在诸如实时视频直播等对实时性要求很高的环境中，从而允许一定量的丢包的情况下（直播比赛，前面丢失的包，重传出来已经意义不大了），UDP更适合。（可以根据具体需要通过应用层协议提供可靠性，不用像TCP那么严格。）&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 60px; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="font-size: medium; "&gt;适合TCP协议的环境：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 90px; "&gt;&lt;span style="color: #000000; "&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="color: #ff6600; "&gt;当网络硬件失效或者负担太重时，数据包可能就会产生丢失、重复、延时、乱序的现象&lt;/span&gt;。这些都会导致&lt;span style="color: #00ff00; "&gt;&lt;strong style="font-weight: bold; "&gt;我们的通信不正常的时候&lt;/strong&gt;&lt;/span&gt;。如果让应用程序来担负差错控制的工作，无疑将给程序员带来许多复杂的工作，于是，我们使用独立的通信协议来保证通信的可靠性是非常必要的。&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2024616.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/04/22/2024616.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/04/21/2024041.html</id><title type="text">验证URL中GUID值是否重复的类库，防止用户直截刷URL(代码存在问题，一直没找到来。看有没有高人能看出来。)</title><summary type="text">验证URL中GUID值是否重复的类库，防止用户直截刷URL，设计思路如下：定义了两个队列：当前写入队列 Hashtable writeTb备份队列 Hashtable readTb已经使用过的GUID值记录在writeTb,readTb列表中。当新的GUID值上来的时候，判断writeTb,readTb队列中是否存在GUID值，如果存在，就判断为非法。两个队列根据一定的间隔时间来轮换切读写。当readTb切换成写队列的时候。readTb中记录的GUID值全部清除。</summary><published>2011-04-21T10:32:00Z</published><updated>2011-04-21T10:32:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/04/21/2024041.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/04/21/2024041.html"/><content type="html">&lt;p&gt;验证URL中GUID值是否重复的类库，防止用户直截刷URL，设计思路如下：&lt;/p&gt;&#xD;
&lt;p&gt;定义了两个队列：&lt;/p&gt;&#xD;
&lt;p&gt;当前写入队列 Hashtable writeTb&lt;/p&gt;&#xD;
&lt;p&gt;备份队列 Hashtable readTb&lt;/p&gt;&#xD;
&lt;p&gt;已经使用过的GUID值记录在writeTb,readTb列表中。&lt;/p&gt;&#xD;
&lt;p&gt;当新的GUID值上来的时候，判断writeTb,readTb队列中是否存在GUID值，如果存在，就判断为非法。&lt;/p&gt;&#xD;
&lt;p&gt;两个队列根据一定的间隔时间来轮换切读写。当readTb切换成写队列的时候。readTb中记录的GUID值全部清除。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;直接上代码：(代码是存在问题的，没跑多久的时候CPU就100%了，一直找不到问题，看看有没有高人能看出问题所在)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('592b45c8-242d-4eeb-98e8-e96e11e0862a')"&gt;&lt;img  id="code_img_opened_592b45c8-242d-4eeb-98e8-e96e11e0862a" style="display: none" onclick="cnblogs_code_hide('592b45c8-242d-4eeb-98e8-e96e11e0862a',event)" src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"&gt;&#xD;
&lt;div  id="cnblogs_code_open_592b45c8-242d-4eeb-98e8-e96e11e0862a"&gt;&#xD;
&lt;div&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RequestValidate&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Thread&amp;nbsp;clearTbWorker&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable&amp;nbsp;tb1&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable(&lt;/span&gt;&lt;span style="color: #800080"&gt;100000&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable&amp;nbsp;tb2&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable(&lt;/span&gt;&lt;span style="color: #800080"&gt;100000&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;上次转换TB时间&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DateTime&amp;nbsp;lastSwitchTbTime&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;写TB索引&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;writeTbIndex{&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;当前写入队列&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable&amp;nbsp;writeTb&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(writeTbIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;tb1;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;tb2;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;备份队列&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Hashtable&amp;nbsp;readTb&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(writeTbIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;tb2;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;tb1;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;HttpRequest&amp;nbsp;request&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;HttpContext.Current.Request;&amp;nbsp;}&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;GUID受限使用时间&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TimeSpan&amp;nbsp;GuidExpiredMinute&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;TimeSpan.FromMinutes(&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RequestValidate()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastSwitchTbTime&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.DateTime.Now;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearTbWorker&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Thread(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ThreadStart(ClearTbWork));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;clearTbWorker.Start();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RequestValidate&amp;nbsp;instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;static&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RequestValidate&amp;nbsp;Instance&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;lock&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;&lt;span style="color: #000000"&gt;(RequestValidate))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;null&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instance&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;RequestValidate();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;instance;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;74&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;75&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;验证客户端GUID值是否合法&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;76&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;77&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;78&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Validate()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;79&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;80&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;guid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;request[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;guid&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;];&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;81&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNullOrEmpty(guid))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;82&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;83&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DEBUG&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;84&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;85&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;86&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;87&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;#endif&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;88&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;89&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;90&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #000000"&gt;!&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;.IsNullOrEmpty(request[&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;t&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;]))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;91&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;92&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpContext.Current.Response.ContentType&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;text/html&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;93&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpContext.Current.Response.Write(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;readTb:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;readTb.Count);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;94&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpContext.Current.Response.Write(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;writeTb:&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;+&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;&lt;span style="color: #000000"&gt;.writeTb.Count);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;95&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpContext.Current.Response.End();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;96&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;97&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;98&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;bool&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isTrue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;99&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;100&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;101&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;102&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;htKey&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;guid.ToLower();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;103&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(readTb.ContainsKey(htKey))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;104&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;105&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isTrue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;106&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;107&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(writeTb.ContainsKey(htKey))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;108&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;109&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isTrue&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;110&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;111&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;112&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;113&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeTb[htKey]&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.DateTime.Now;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;114&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;115&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;116&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Exception&amp;nbsp;ex)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;117&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;118&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.LogComplement.Error(ex);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;119&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;120&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;121&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;isTrue;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;122&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;123&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;124&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;125&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;126&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;清除过期队列&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;127&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;128&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ClearTbWork()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;129&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;130&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;while&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;true&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;131&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;132&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;try&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;133&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;134&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;135&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;136&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeSpan&amp;nbsp;ts&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.DateTime.Now&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;lastSwitchTbTime;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;137&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(ts&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;GuidExpiredMinute)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;138&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;139&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Threading.Thread.Sleep(ts);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;140&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;141&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;142&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;清除GuidExpiredMinute分钟之前备份队列&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;143&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readTb.Clear();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;144&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;145&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(writeTbIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;writeTbIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;146&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;writeTbIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;147&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;148&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastSwitchTbTime&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;System.DateTime.Now;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;149&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;150&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;151&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;152&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;153&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;catch&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(Exception&amp;nbsp;ex)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;154&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;155&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log.LogComplement.Error(ex);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;156&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;157&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;finally&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;158&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;159&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.Threading.Thread.Sleep(GuidExpiredMinute);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;160&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;161&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;162&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;163&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;164&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;165&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2024041.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/04/21/2024041.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/04/13/2014603.html</id><title type="text">浅谈Python Web的五大框架</title><summary type="text">说到web framework，Ruby的世界Rails一统江湖，而Python则是一个百花齐放的世界，各种micro-framework、framework不可胜数，不完全列表见：http://wiki.python.org/moin/WebFrameworks。虽然另一大脚本语言PHP也有不少框架，但远没有Python这么夸张，也正是因为Python web framework（Python web开发框架，以下简称Python框架）太多，所以在Python社区总有关于Python框架孰优孰劣的话题，讨论的时间跨度甚至长达3-5年。 Python这么多框架，能挨个玩个遍的人不多，坦白的说我</summary><published>2011-04-13T03:33:00Z</published><updated>2011-04-13T03:33:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/04/13/2014603.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/04/13/2014603.html"/><content type="html">&lt;div&gt;&lt;span style="color: #232323; font-family: verdana, Arial, Helvetica; font-size: 14px; line-height: 28px; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;说到web framework，Ruby的世界Rails一统江湖，而Python则是一个百花齐放的世界，各种micro-framework、framework不可胜数，不完全列表见：&lt;a href="http://wiki.python.org/moin/WebFrameworks" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;http://wiki.python.org/moin/WebFrameworks&lt;/a&gt;。虽然另一大脚本语言PHP也有不少框架，但远没有Python这么夸张，也正是因为Python web framework（Python web开发框架，以下简称Python框架）太多，所以在Python社区总有关于Python框架孰优孰劣的话题，讨论的时间跨度甚至长达3-5年。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Python这么多框架，能挨个玩个遍的人不多，坦白的说我也只用过其中的三个开发过项目，另外一些稍微接触过，所以这里只能浅谈一下，欢迎懂行的朋友们补充、拍砖。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　&lt;a href="http://www.djangoproject.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Django&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;img size-full=""  wp-image-225"="" title="hdr_logo" src="http://feilong.me/wp-content/uploads/2011/01/hdr_logo.gif" alt="" width="117" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Python框架虽然说是百花齐放，但仍然有那么一家是最大的，它就是Django。要说Django是Python框架里最好的，有人同意也有人坚决反对，但说Django的文档最完善、市场占有率最高、招聘职位最多估计大家都没什么意见。Django为人所称道的地方主要有：&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;完美的文档，Django的成功，我觉得很大一部分原因要归功于Django近乎完美的官方文档（包括Django book）。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;全套的解决方案，Django象Rails一样，提供全套的解决方案（full-stack framework + batteries included），基本要什么有什么（比如：cache、session、feed、orm、geo、auth），而且全部Django自己造，开发网站应手的工具Django基本都给你做好了，因此开发效率是不用说的，出了问题也算好找，不在你的代码里就在Django的源码里。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;强大的URL路由配置，Django让你可以设计出非常优雅的URL，在Django里你基本可以跟丑陋的GET参数说拜拜。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;自助管理后台，admin interface是Django里比较吸引眼球的一项contrib，让你几乎不用写一行代码就拥有一个完整的后台管理界面。&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;而Django的缺点主要源自Django坚持自己造所有的轮子，整个系统相对封闭，Django最为人诟病的地方有：&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;系统紧耦合，如果你觉得Django内置的某项功能不是很好，想用喜欢的第三方库来代替是很难的，比如下面将要说的ORM、Template。要在Django里用SQLAlchemy或Mako几乎是不可能，即使打了一些补丁用上了也会让你觉得非常非常别扭。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;Django自带的ORM远不如SQLAlchemy强大，除了在Django这一亩三分地，SQLAlchemy是Python世界里事实上的ORM标准，其它框架都支持SQLAlchemy了，唯独Django仍然坚持自己的那一套。Django的开发人员对SQLAlchemy的支持也是有过讨论和尝试的，不过最终还是放弃了，估计是代价太高且跟Django其它的模块很难合到一块。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;Template功能比较弱，不能插入Python代码，要写复杂一点的逻辑需要另外用Python实现Tag或Filter。关于模板这一点，一直以来争论比较多，最近有两篇关于Python模板的比较有意思的文章可供参考：&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 25px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #555555; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #efefef; border-right-color: #efefef; border-bottom-color: #efefef; border-left-color: #efefef; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;&lt;a href="http://pydanny.blogspot.com/2010/12/stupid-template-languages.html" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;http://pydanny.blogspot.com/2010/12/stupid-template-languages.html&lt;/a&gt;（需翻墙）&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;&lt;a href="http://techspot.zzzeek.org/2010/12/04/in-response-to-stupid-template-languages/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;http://techspot.zzzeek.org/2010/12/04/in-response-to-stupid-template-languages/&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;URL配置虽然强大，但全部要手写，这一点跟Rails的Convention over configuration的理念完全相左，高手和初识Django的人配出来的URL会有很大差异。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;让人纠结的auth模块，Django的auth跟其它模块结合紧密，功能也挺强的，就是做的有点过了，用户的数据库schema都给你定好了，这样问题就来了，比如很多网站要求email地址唯一，可schema里这个字段的值不是唯一的，纠结是必须的了。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;Python文件做配置文件，而不是更常见的ini、xml或yaml等形式。这本身不是什么问题，可是因为理论上来说settings的值是能够动态的改变的（虽然大家不会这么干），但这不是最佳实践的体现。&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;总的来说，Django大包大揽，用它来快速开发一些Web运用是很不错的。如果你顺着Django的设计哲学来，你会觉得Django很好用，越用越爽；相反，你如果不能融入或接受Django的设计哲学，你用Django一定会很痛苦，趁早放弃的好。所以说在有些人眼里Django无异于仙丹，但对有一些人来说它又是毒药且剧毒。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Django案例有&lt;a href="http://disqus.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;disqus.com&lt;/a&gt;、&lt;a href="http://bitbucket.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;bitbucket.org&lt;/a&gt;、&lt;a href="http://www.haibao.cn/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;海报网&lt;/a&gt;等。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　&lt;a href="http://www.pylonshq.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Pylons&lt;/a&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;a href="http://turbogears.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;TurboGears&lt;/a&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;a href="http://bfg.repoze.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;repoze.bfg&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;&lt;img size-full=""  wp-image-226"="" title="pylons_logo" src="http://feilong.me/wp-content/uploads/2011/01/pylons_logo.jpg" alt="" width="346" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;除了Django另一个大头就是Pylons了，因为TurboGears2.x是基于Pylons来做的，而repoze.bfg也已经并入Pylons project里这个大的项目里，后面不再单独讨论TurboGears和repoze.bfg了。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Pylons和Django的设计理念完全不同，Pylons本身只有两千行左右的Python代码，不过它还附带有一些几乎就是Pylons御用的第三方模块。Pylons只提供一个架子和可选方案，你可以根据自己的喜好自由的选择Template、ORM、form、auth等组件，系统高度可定制。我们常说Python是一个胶水语言(glue language)，那么我们完全可以说Pylons就是一个用胶水语言设计的胶水框架:)&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;选择Pylons多是选择了它的自由，选择了自由的同时也预示着你选择了噩梦：&lt;/p&gt;&lt;ul style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;学习噩梦，Pylons依赖于许多第三方库，它们并不是Pylons造，你学Pylons的同时还得学这些库怎么使用，关键有些时候你都不知道你要学什么。Pylons的学习曲线相对比Django要高的多，而之前Pylons的官方文档也一直是人批评的对象，好在后来出了The Definitive Guide to Pylons这本书，这一局面有所改观。因为这个原因，Pylons一度被誉为只适合高手使用的Python框架。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;调试噩梦，因为牵涉到的模块多，一旦有错误发生就比较难定位问题处在哪里。可能是你写的程序的错、也可能是Pylons出错了、再或是SQLAlchemy出错了、搞不好是formencode有bug，反正很凌乱了。这个只有用的很熟了才能解决这个问题。&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: disc; list-style-position: initial; list-style-image: initial; "&gt;升级噩梦，安装Pylons大大小小共要安装近20个Python模块，各有各自的版本号，要升级Pylons的版本，哪个模块出了不兼容的问题都有可能，升级基本上很难很难。至今reddit的Pylons还停留在古董的0.9.6上，SQLAlchemy也还是0.5.3的版本，应该跟这条有关系。所以大家玩Pylons一定要结合virtualenv来玩，给自己留条后路，不然会死得很惨。&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Pylons和repoze.bfg的融合可能会催生下一个能挑战Django地位的框架。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Pylons的案例有&lt;a href="http://www.reddit.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;reddit.com&lt;/a&gt;、&lt;a href="http://www.dropbox.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;dropbox.com&lt;/a&gt;、&lt;a href="http://www.quora.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;quora.com&lt;/a&gt;等。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　&lt;a href="http://www.tornadoweb.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Tornado&amp;nbsp;&lt;/a&gt;&amp;amp;&amp;nbsp;&lt;a href="http://webpy.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;web.py&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;&lt;img size-full=""  wp-image-227"="" title="tornado" src="http://feilong.me/wp-content/uploads/2011/01/tornado.png" alt="" width="286" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Tornado即是一个web server（对此本文不作详述），同时又是一个类web.py的micro-framework，作为框架Tornado的思想主要来源于web.py，大家在web.py的网站首页也可以看到Tornado的大佬Bret Taylor的这么一段话（他这里说的FriendFeed用的框架跟Tornado可以看作是一个东西）：&lt;/p&gt;&lt;blockquote style="margin-top: 10px; margin-right: 0px; margin-bottom: 10px; margin-left: 25px; padding-top: 5px; padding-right: 10px; padding-bottom: 5px; padding-left: 10px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #555555; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #efefef; border-right-color: #efefef; border-bottom-color: #efefef; border-left-color: #efefef; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;&amp;#8220;[web.py inspired the] web framework we use at FriendFeed [and] the webapp framework that ships with App Engine&amp;#8230;&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;因为有这层关系，后面不再单独讨论Tornado。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;web.py的设计理念力求精简（Keep it simple and powerful），总共就没多少行代码，也不像Pylons那样依赖大量的第三方模块，而是只提供的一个框架所必须的一些东西，如：URL路由、Template、数据库访问，其它的就交给用户自己去做好了。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;一个框架精简的好处在于你可以聚焦在业务逻辑上，而不用太多的去关心框架本身或受框架的干扰，同时缺点也很明显，许多事情你得自己操刀上。&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt;我个人比较偏好这种精简的框架，因为你很容易通过阅读源码弄明白整个框架的工作机制，如果框架那一块不是很合意的话，我完全可以Monkey patch一下按自己的要求来。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;早期的reddit是用web.py写的，Tornado的案例有&lt;a href="http://friendfeed.com/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;friendfeed.com&lt;/a&gt;、&lt;a href="http://bit.ly/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;bit.ly&lt;/a&gt;、&lt;a href="http://www.quora.com/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;quora.com&lt;/a&gt;和我的开源站点&lt;a href="http://poweredsites.org/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;poweredsites.org&lt;/a&gt;等。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　&lt;a href="http://bottle.paws.de/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Bottle&lt;/a&gt;&amp;nbsp;&amp;amp;&amp;nbsp;&lt;a href="http://flask.pocoo.org/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Flask&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;&lt;img size-full=""  wp-image-228"="" title="bottle-logo" src="http://feilong.me/wp-content/uploads/2011/01/bottle-logo.png" alt="" width="276" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-style: initial; border-color: initial; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; " /&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Bottle和Flask作为新生一代Python框架的代表，挺有意思的是都采用了decorator的方式配置URL路由，如：&lt;/p&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; background-color: #f5f5f5; font-family: 'Courier New'; font-size: 14px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; word-break: break-all; overflow-x: auto; overflow-y: auto; line-height: 25px; "&gt;&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; "&gt;&lt;div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 14px; line-height: 25px; "&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #0000ff; "&gt;from&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt; bottle &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #0000ff; "&gt;import&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt; route, run&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt; &lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt;@route(&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;/:name&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;)&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #0000ff; "&gt;def&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt; index(name&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;World&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;):&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt;    &lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #0000ff; "&gt;return&lt;/span&gt; &lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;&amp;amp;lt;b&amp;amp;gt;Hello %s!&amp;amp;lt;/b&amp;amp;gt;&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt; &lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;%&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt; name&lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt; &lt;br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 10px; " /&gt;run(host&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;localhost&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #800000; "&gt;'&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;, port&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;=&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;8080&lt;/span&gt;&lt;span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Courier New'; color: #000000; "&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;Bottle、Flask跟web.py一样，都非常精简，Bottle甚至所有的代码都在那一个两千来行的.py文件里。另外Flask和Pylons一样，可以跟Jinja2、SQLAlchemy之类结合的很好。&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;不过目前不管是Bottle还是Flask成功案例都还很少。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　&lt;a href="http://www.quixote.ca/" target="_blank" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: #1a64a2; text-decoration: none; "&gt;Quixote&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;之所以要特别说一下Quixote，是因为国内的最大的用Python开发的网站&amp;#8220;豆瓣网&amp;#8221;是用Quixote开发的。我只简单翻了一下源代码，没有做过研究，不发表评论，有经验的来补充下。我只是在想，如果豆瓣网交到现在来开发，应该会有更多的选择。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　其它（web2py、uliweb、Karrigell、Werkzeug &amp;#8230;）&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;　　最后关于框架选择的误区&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;在框架的选择问题上，许多人很容易就陷入了下面两个误区中而不自知：&lt;/p&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 50px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 12px; color: #232323; "&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;哪个框架最好 － 世上没有最好的框架，只有最适合你自己、最适合你的团队的框架。编程语言选择也是一个道理，你的团队Python最熟就用Python好了，如果最熟悉的是Ruby那就用Ruby好了，编程语言、框架都只是工具，能多、快、好、省的干完活就是好东西，管TMD是日本鬼子还是美帝造呢！&lt;/li&gt;&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;过分关注性能 － 其实大部分人是没必要太关心框架的性能的，因为你开发的网站根本就是个小站，能上1万的IP的网站已经不多了，上10万的更是很少很少。在没有一定的访问量前谈性能其实是没有多大意义的，因为你的CPU和内存一直就闲着呢。而且语言和框架一般也不会是性能瓶颈，性能问题最常出现在数据库访问和文件读写上。PHP的Zend Framework是出了名的慢，但是Zend Framework一样有大站，如：digg.com；常被人说有性能问题的Ruby和Rails，不是照样可以开发出twitter吗？再者现在的硬件、带宽成本其实是很低的，特别有了云计算平台后，人力成本才是最贵的，没有上万的IP根本就不用太在意性能问题，流量上去了花点钱买点服务器空间好了，简单快速的解决性能问题。&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: verdana, Arial, Helvetica; font-size: 14px; color: #232323; "&gt;注：前面有网友质疑我&amp;#8220;Quora是用Pylons开发的&amp;#8221;这样的说法不客观，特说明一下，这里所说的某个网站A是用B开发的，只是指A主要或部分是由B开发的，大家就不要再去纠结A还用C了。&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2014603.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/04/13/2014603.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/ITAres/archive/2011/04/05/2006188.html</id><title type="text">Jquery css+xPath</title><summary type="text">jQuery的选择器是CSS 1-3，XPath的结合物。jQuery提取这二种查询语言最好的部分，融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS（绝大部分WEB开发者都用到的），那么你学起来就很容易了。同时使用CSS和XPath看几个例子：隐藏所有包含有链接的段落：$(&amp;quot;p[a]&amp;quot;).hide();显示页面的第一个段落：$(&amp;quot;p:eq(0)&amp;quot;).show();隐藏所有当前可见的层元素：$(&amp;quot;div:visible&amp;quot;).hide();获取所有无序列表的列表项：$(&amp;quot;ul/li&amp;quot;)/* valid </summary><published>2011-04-05T14:37:00Z</published><updated>2011-04-05T14:37:00Z</updated><author><name>ITAres</name><uri>http://www.cnblogs.com/ITAres/</uri></author><link rel="alternate" href="http://www.cnblogs.com/ITAres/archive/2011/04/05/2006188.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/ITAres/archive/2011/04/05/2006188.html"/><content type="html">&lt;div&gt;&lt;span style="font-family: Tahoma; line-height: 20px; font-size: 10px; color: #666666; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;p&gt;&lt;strong&gt;&lt;p style="line-height: normal; "&gt;jQuery的选择器是CSS 1-3，XPath的结合物。jQuery提取这二种查询语言最好的部分，融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS（绝大部分WEB开发者都用到的），那么你学起来就很容易了。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;同时使用CSS和XPath&lt;/p&gt;&lt;p style="line-height: normal; "&gt;看几个例子：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;隐藏所有包含有链接的段落：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("p[a]").hide();&lt;/p&gt;&lt;p style="line-height: normal; "&gt;显示页面的第一个段落：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("p:eq(0)").show();&lt;/p&gt;&lt;p style="line-height: normal; "&gt;隐藏所有当前可见的层元素：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("div:visible").hide();&lt;/p&gt;&lt;p style="line-height: normal; "&gt;获取所有无序列表的列表项：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("ul/li")&lt;/p&gt;&lt;p style="line-height: normal; "&gt;/* valid too: $("ul &amp;gt; li") */&lt;/p&gt;&lt;p style="line-height: normal; "&gt;取得name值为bar的输入字段的值：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("input[@name=bar]").val();&lt;/p&gt;&lt;p style="line-height: normal; "&gt;所有处于选中状态的单选r按钮：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$("input[@type=radio][@checked]")&lt;/p&gt;&lt;p style="line-height: normal; "&gt;如果你对查询语言的工作原理还有疑问，可以&lt;a href="http://jquery.com/discuss/" target="_blank" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;订阅这里的邮件列表&lt;/a&gt;。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;CSS查询器&lt;/p&gt;&lt;p style="line-height: normal; "&gt;jQuery完全支持CSS1.3。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;关于CSS的一些资料查看下面的连接：&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://www.w3.org/TR/REC-CSS1#basic-concepts" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;CSS 1&lt;/a&gt;&lt;/li&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://www.w3.org/TR/REC-CSS2/selector.html" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;CSS 2&lt;/a&gt;&lt;/li&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://www.w3.org/TR/2005/WD-css3-selectors-20051215/" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;CSS 3&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;下面列出来的是支持的CSS查询器的列表式语法：&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;* 任何元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E 类型为E的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:root 类型为E，并且是文档的根元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:nth-child(n) 是其父元素的第n个类型为E的子元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:first-child 是其父元素的第1个类型为E的子元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:last-child&amp;nbsp;&amp;nbsp; 是其父元素的最后一个类型为E的子元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:only-child&amp;nbsp;&amp;nbsp; 且是其父元素的唯一一个类型为E的子元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:empty 没有子元素（包括text节点）的类型为E的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:enabled&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:disabled 类型为E，允许或被禁止的用户界面元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:checked 类型为E，处于选中状态的用户界面元素（例如单选按钮或复选框）&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E.warning 类型为E，且class属性值为warning&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E#myid 类型为E，ID为 "myid"。（至多匹配一个元素）&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:not(s) 类型为E，不匹配选择器s&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E F 在类型E后面的类型为F的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E &amp;gt; F 为E元素子元素的F元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E + F an F element immediately preceded by an E element&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E ~ F an F element preceded by an E element&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;不同之处&lt;/p&gt;&lt;p style="line-height: normal; "&gt;所有的属性选择器都被写成和XPath极其相似（因为所有的属性都以@符号开始）。&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;E[@foo] 拥有foo属性的E元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E[@foo=bar] foo属性的值为bar的E元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E[@foo^=bar] foo属性的值以字符串"bar"开始的E元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E[@foo$=bar] foo属性的值以字符串"bar"结尾的E元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E[@foo*=bar] foo属性的值包含有字符串"bar"结尾的E元素&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;不支持的部分&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;E:link&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:visited an E element being the source anchor of a hyperlink of which the target is not yet visited (:link) or already visited (:visited)&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:active&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:hover&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:focus an E element during certain user actions&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:target an E element being the target of the referring URI&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E::first-line the first formatted line of an E element&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E::first-letter the first formatted letter of an E element&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E::selection the portion of an E element that is currently selected/highlighted by the user&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E::before generated content before an E element&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E::after generated content after an E element&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;jQuery不支持下列的选择器，因为这些没什么用处。&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;E:nth-last-child(n) an E element, the n-th child of its parent, counting from the last one&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:nth-of-type(n) an E element, the n-th sibling of its type&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:nth-last-of-type(n) an E element, the n-th sibling of its type, counting from the last one&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:first-of-type an E element, first sibling of its type&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:last-of-type an E element, last sibling of its type&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:only-of-type an E element, only sibling of its type&lt;/li&gt;&lt;li style="line-height: normal; "&gt;E:lang(fr) an element of type E in language "fr"&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;XPath 查询器&lt;/p&gt;&lt;p style="line-height: normal; "&gt;XPath是jQuery内置支持的一种表达式语言。jQuery支持基本的&lt;a href="http://www.w3.org/TR/xpath" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;XPath表达&lt;/a&gt;式。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;定位路径&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;绝对路径&lt;br style="line-height: normal; " /&gt;$("/html/body//p")&lt;br style="line-height: normal; " /&gt;$("/*/body//p")&lt;br style="line-height: normal; " /&gt;$("//p/../div")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;相对路径&lt;br style="line-height: normal; " /&gt;$("a",this)&amp;nbsp;&lt;br style="line-height: normal; " /&gt;$("p/a",this)&lt;/li&gt;&lt;/ul&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;支持的Axis选择器&lt;/pre&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;Descendant Element has a descendant element&lt;/li&gt;&lt;/ul&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;$("//div//p") &lt;/pre&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;Child Element has a child element&lt;/li&gt;&lt;/ul&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;$("//div/p") &lt;/pre&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;Preceding Sibling Element has an element before it, on the same axes&lt;/li&gt;&lt;/ul&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;$("//div ~ form") &lt;/pre&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;Parent Selects the parent element of the element&lt;/li&gt;&lt;/ul&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;$("//div/../p") 支持的谓词&lt;/pre&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;[@*] 拥有一个属性&lt;br style="line-height: normal; " /&gt;$("//div[@*]")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[@foo] 拥有foo属性&lt;br style="line-height: normal; " /&gt;$("//input[@checked]")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[@foo='test'] 属性foo值为'test'&lt;br style="line-height: normal; " /&gt;$("//a[@ref='nofollow']")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[Nodelist] Element contains a node list, for example:&amp;nbsp;&lt;br style="line-height: normal; " /&gt;$("//div[p]")&lt;br style="line-height: normal; " /&gt;$("//div[p/a]")&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;支持的谓词，但与XPath和CSS又不同的&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;[last()] or [position()=last()]改为:last&lt;br style="line-height: normal; " /&gt;$("p:last")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[0] or [position()=0] 改为&amp;nbsp;:eq(0) or :first&lt;br style="line-height: normal; " /&gt;$("p:first")&lt;br style="line-height: normal; " /&gt;$("p:eq(0)")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[position() &amp;lt; 5] 改为:lt(5)&lt;br style="line-height: normal; " /&gt;$("p:lt(5)")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;[position() &amp;gt; 2] 改为:gt(2)&lt;br style="line-height: normal; " /&gt;$("p:gt(2)")&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;定制的选择器&lt;/p&gt;&lt;p style="line-height: normal; "&gt;jQuery包含一些在CSS和XPath都不用到的表达式，但我们觉得它们使用起来非常方便，所以包含进来了。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;下列的列表式语法基于不同的CSS选择器，但又有非常相似的名字。&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;:even 从匹配的元素集中取序数为偶数的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:odd 从匹配的元素集中取序数为奇数的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:eq(0) and :nth(0) 从匹配的元素集中取第0个元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:gt(4) 从匹配的元素集中取序数大于N的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:lt(4) 从匹配的元素集中取序数小于N的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:first 相当于 :eq(0)&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:last 最后一个匹配的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:parent 选择包含子元素（包含text节点）的所有元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:contains('test') 选择所有含有指定文本的元素&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:visible 选择所有可见的元素（display值为block 或者visible 、visibility 值为visible的元素，不包括hide域）&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:hidden 选择所有隐藏的元素(非Hide域，且display值为block 或者visible 、visibility 值为visible的元素)&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;例：&lt;/p&gt;&lt;pre style="line-height: 22px; padding-left: 10px; padding-right: 5px; margin-left: 10px; margin-right: 10px; border-left-width: 8px; border-left-color: #cccccc; border-left-style: solid; font-family: Tahoma; "&gt;$("p:first").css("fontWeight","bold"); $("div:hidden").show(); $("div:contains('test')").hide(); &lt;/pre&gt;&lt;p style="line-height: normal; "&gt;&lt;/p&gt;&lt;p style="line-height: normal; "&gt;表单选择器&lt;br style="line-height: normal; " /&gt;这是为表单提供的一些选择器：&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;:input 选择表单元素（input, select, textarea, button）&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:text 选择所有文本域(type="text")&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:password 选择所有密码域(type="password").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:radio 选择所有单选按钮(type="radio").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:checkbox 选择所有复选框(type="checkbox").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:submit 选择所有提交按钮(type="submit").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:image 选择所有图像域 (type="image").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:reset 选择所有清除域(type="reset").&lt;/li&gt;&lt;li style="line-height: normal; "&gt;:button 选择所有按钮(type="button").&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: normal; "&gt;同样也可以使用:hidden，详细说明上面已经介绍过。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$('#myForm :input')&lt;/p&gt;&lt;p style="line-height: normal; "&gt;如果你需要指定表单：&lt;/p&gt;&lt;p style="line-height: normal; "&gt;$('input:radio', myForm)&lt;/p&gt;&lt;p style="line-height: normal; "&gt;这将选择myForm表单中所有单选按钮。选择radio通常是用[@type=radio]，但是这样用理精简些。&lt;/p&gt;&lt;p style="line-height: normal; "&gt;更多的选择器&lt;/p&gt;&lt;p style="line-height: normal; "&gt;jQuery选择器可以用一些第三方部件进行扩充：&lt;/p&gt;&lt;ul style="line-height: normal; "&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://www.softwareunity.com/sandbox/JQueryMoreSelectors/" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;More Selectors Plugin&lt;/a&gt;&lt;/li&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://www.malsup.com/jquery/expr/" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;Mike Alsup on Custom Selectors&lt;/a&gt;&lt;/li&gt;&lt;li style="line-height: normal; "&gt;&lt;a href="http://jquery.com/dev/bugs/bug/312/" style="color: #666666; font-size: 12px; text-decoration: none; line-height: 20px; font-family: Tahoma; "&gt;Patch&lt;/a&gt;&amp;nbsp;to allow selection by CSS property (full plugin to be released simultaneously with 1.1)&lt;/li&gt;&lt;/ul&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/ITAres/aggbug/2006188.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ITAres/archive/2011/04/05/2006188.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
