ES命令操作(Rest风格说明)

11 篇文章 1 订阅
订阅专栏

ElasticSearch目录


文章目录

  • 五、ES命令操作(Rest风格说明)
    • 5.1、基本Rest命令说明
    • 5.2、关于索引的基本操作
      • 5.2.1、创建一个索引,添加
      • 5.2.2、字段数据类型
      • 5.2.3、指定字段的类型(使用PUT)
      • 5.2.4、获取建立的规则信息
      • 5.2.5、获取默认信息
      • 5.2.6、修改
        • ①旧的(使用put覆盖原来的值)
        • ②新的(使用post的update)
      • 5.2.7、删除
    • 5.3、关于文档(行记录)的基本操作
      • 5.3.1、查询(简单条件)
      • 5.3.2、复杂查询
        • ①匹配查询
        • ②布尔值查询、多条件匹配查询(bool)
        • ③匹配数组,匹配一个字段的多个条件
        • ④精确查询
        • ⑤text和keyword 类型对比
        • ⑥高亮查询

五、ES命令操作(Rest风格说明)

一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁更有层次更易于实现缓存等机制。

5.1、基本Rest命令说明

methodurl地址描述
PUT(创建,修改)localhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)
POST(创建)localhost:9200/索引名称/类型名称创建文档(随机文档id)
POST(修改)localhost:9200/索引名称/类型名称/文档id/_update修改文档
DELETE(删除)localhost:9200/索引名称/类型名称/文档id删除文档
GET(查询)localhost:9200/索引名称/类型名称/文档id查询文档通过文档ID
POST(查询)localhost:9200/索引名称/类型名称/文档id/_search查询所有数据

5.2、关于索引的基本操作

5.2.1、创建一个索引,添加

PUT /索引名称/类型名称/文档id
{请求体}

PUT /test1/type1/1
{  
	"name" : "流柚",  
	"age" : 18
}

img

img

5.2.2、字段数据类型

  • 字符串类型

    • text、keyword

      • text:支持分词 ,全文检索,支持模糊、精确查询,不支持聚合,排序操作:text类型的最大支持的字符长度无限制,适合大字段存储;
      • keyword:不支持分词 ,直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。
  • 数值型

    • long、Integer、short、byte、double、float、half floatscaled float
  • 日期类型

    • date
  • 布尔类型

    • boolean
  • 二进制类型

    • binary
  • 等等…

5.2.3、指定字段的类型(使用PUT)

类似于建库(建立索引和字段对应类型),也可看做规则的建立

PUT /test2
{  
    "mappings": {
        "properties": {
            "name": {
                "type": "text"      
            },
            "age":{
                "type": "long"      
            },
            "birthday":{
                "type": "date"      
            }    
        }  
    }
}

img

5.2.4、获取建立的规则信息

可以通过GET请求获取具体的信息

GET test2

img

5.2.5、获取默认信息

_doc 默认类型(default type),type 在未来的版本中会逐渐弃用,因此产生一个默认类型进行代替

PUT /test3/_doc/1
{  
	"name": "流柚",  
    "age": 18,  
    "birth": "1999-10-10"
}

GET test3

img

如果自己的文档字段没有被指定,那么ElasticSearch就会给我们默认配置字段类型。
如上图:通过命令 GET test3,查看索引test3中的字段默认类型,其中name字段的类型是text,但是该字段的关键字切分却是keyword类型,即不能分割。所以建议:在创建索引时,指明字段的类型与拆分规则,如下命令:

PUT /test3
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text",
        "analyzer": "ik_max_word"  // ik分词器-最细粒度拆分
        //这样在搜索的时候,才会匹配到我们需要的结果
      }
    }
  }
}


扩展:通过get _cat/ 可以获取ElasticSearch的当前的很多信息!

GET _cat/indices
GET _cat/aliases
GET _cat/allocation
GET _cat/count
GET _cat/fielddata
GET _cat/health
GET _cat/indices
GET _cat/master
GET _cat/nodeattrs
GET _cat/nodes
GET _cat/pending_tasks
GET _cat/plugins
GET _cat/recovery
GET _cat/repositories
GET _cat/segments
GET _cat/shards
GET _cat/snapshots
GET _cat/tasks
GET _cat/templates
GET _cat/thread_pool

5.2.6、修改

两种方案

①旧的(使用put覆盖原来的值)
  • 版本+1(_version)
  • 但是如果漏掉某个字段没有写,那么更新时没有写的字段 ,会消失
PUT /test3/_doc/1
{
	"name" : "流柚是我的大哥",  
	"age" : 18,  
	"birth" : "1999-10-10"
}

GET /test3/_doc/1

// 修改会有字段丢失
PUT /test3/_doc/1
{  
    "name" : "流柚"
}

GET /test3/_doc/1

img

img

②新的(使用post的update)
  • version会改变
  • 需要注意doc
  • 不会丢失字段
POST /test3/_doc/1/_update

{  
    "doc":{
        "name" : "post修改,version不会加一",
        "age" : 2  
    }
}

GET /test3/_doc/1

img

5.2.7、删除

GET /test1
DELETE /test1

img

img

5.3、关于文档(行记录)的基本操作

5.3.1、查询(简单条件)

# 最简单的查询,类似与数据库通过id来查询。
GET /test3/_doc/1GET /test3/_doc/_search?q=name:流柚

注意结果中的 “_score” 为匹配度,匹配度越高则分值越高,位置越靠前,就是权重的意思

还有 hits字段,在java中有对应的对象,它包含了:

  • 索引和文档的信息
  • 查询的结果总数
  • 然后就是查询出来的具体的文档(行记录),数据中的东西都可以遍历出来了

img

5.3.2、复杂查询

blog索引中的内容

img

①匹配查询
  • _search :指明查询操作

  • query :构造查询条件

  • match:匹配(会使用分词器解析(先分析文档,然后进行查询))

  • _source:过滤字段,指定要查询出来哪几个字段信息

  • sort:排序,根据哪个字段排序,注意有此条件时,查询结果中"_score" 为null

  • 分页查询: form (从第几个开始)、size (每页大小)

// 查询匹配
  GET /blog/user/_search
  {        
  	"query":{
  	        "match":{
  	               "name":"流"
  	         }        
  	 },
  	 "_source": ["name","desc"]    
  	 ,        
  	 "sort": [        
	  	 {            
		  	 "age": {                
		  	 	"order": "asc"            
		  	 }              
		 }        
	 ]    
	 ,        
	 "from": 0        
	 ,        
	 "size": 1  
   }

img

②布尔值查询、多条件匹配查询(bool)
  • must 相当于 and
  • should 相当于 or
  • must_not 相当于 not
  • filter 过滤(范围查询)
///  bool 多条件查询
 must <==> and
 should <==> or
 must_not <==> not 不等于
 filter数据过滤  (gte >=   lte <=)
 boost
 minimum_should_match
GET /blog/user/_search
{
	"query": {
		"bool": {
			"must": [
				{
					"match": {
						"age": 3
					}
				}, {
					"match": {
						"name": "流"
					}
				}
			],
			"filter": {
				"range": {
					"age": {
						"gte": 1,
						"lte": 3
					}
				}
			}
		}
	}
}

img

③匹配数组,匹配一个字段的多个条件
  • 貌似不能与其它字段一起使用
  • 可以多关键字查(空格隔开),只要满足其中一个结果就可以被查出来
  • match 会使用分词器解析(先分析文档,然后进行查询)
  • 搜词
// 匹配数组 貌似不能与其它字段一起使用
// 可以多关键字查(空格隔开)
// match 会使用分词器解析(先分析文档,然后进行查询)
GET /blog/user/_search
{
	"query": {
		"match": {
			"desc": "年龄 牛 大"
		}
	}
}

img

④精确查询
  • term 直接通过 倒排索引 指定 词条 查询 (可以和 match 对比一下)
    • term ,直接查询精确的
    • match,会使用分词器解析! (先分析文档,然后在通过分析的文档进行查询! )
  • 关于分词:适合查询 类型 为 number、date、keyword ,不适合字段类型为 text
// 精确查询(必须全部都有,而且不可分,即按一个完整的词查询)
// term 直接通过 倒排索引 指定的词条 进行精确查找的
GET /blog/user/_search
{	
	"query": {
		"term": {
			"desc": "年" 
            //查询“desc”字段中 带有“年”这个字的记录   
        }  
    }
}

//利用term 进行多条件查询
//查询desc字段中含有 “年” 或者 “我”的记录
GET /blog/user/_search
{
	"query": {
		"bool": {
			"should": {
				"term": {
					"desc": "年"
				},
				"term": {
					"desc": "我"
				}
			}
		}
	}
}

img

⑤text和keyword 类型对比
  • text:
    • 支持分词全文检索、支持模糊、精确查询,不支持聚合,排序操作;
    • text类型的最大支持的字符长度无限制,适合大字段存储;
  • keyword:
    • 不进行分词,不会被分词器解析直接索引、支持模糊、支持精确匹配,支持聚合、排序操作。
    • keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果
// 测试keyword和text是否支持分词
// 设置索引类型
PUT /test
{
	"mappings": {
		"properties": {
			"text": {
				"type": "text"
			},
			"keyword": {
				"type": "keyword"
			}
		}
	}
}

// 设置字段数据
PUT /test/_doc/1
{  
	"text":"测试keyword和text是否支持分词",
  	"keyword":"测试keyword和text是否支持分词"
}

// text 支持分词
// keyword 不支持分词
GET /test/_doc/_search
{
	"query": {
		"match": {
			"text": "测试"
		}
	}
}
// 查的到

GET /test/_doc/_search
{
	"query": {
		"match": {
			"keyword": "测试"
		}
	}
}
// 查不到,必须是 "测试keyword和text是否支持分词" 才能查到

GET _analyze
{
	"analyzer": "keyword",
	"text": ["测试liu"]
}

// 不会分词,即 测试liu
GET _analyze
{  
	"analyzer": "standard",
	 "text": ["测试liu"]
}
// 分为: 测 试 liu

GET _analyze
{  
	"analyzer":"ik_max_word",  
	"text": ["测试liu"]
}
// 分为: 测试 liu
⑥高亮查询
/// 高亮查询
GET blog/user/_search
{
	"query": {
		"match": {
			"name": "流"
		}
	},
	"highlight": {
		"fields": {
			"name": {}
			// 查询出来的结果,name字段高亮显示   
        }  
    }
}

// 自定义前缀和后缀 的高亮查询 (自定义的前缀和后缀 会替换默认的<em></em>)
GET blog/user/_search
{
	"query": {
		"match": {
			"name": "流"
		}
	},
	"highlight": {
		"pre_tags": "<p class='key' style='color:red'>",
		"post_tags": "</p>",
		"fields": {
			"name": {}
		}
	}
}

img

ESRest风格请求、花式查询
HanyStill的博客
07-22 792
ES推荐用户使用Restful风格 关于索引、文档的基本操作 PUT 创建一个索引 PUT /索引名/类型名/文档id {请求体} 在Kibana中发送请求(也可以用其它工具发送请求,比如postman,浏览器): 在elasticsearch-head中可以看到,自动增加索引,数据也成功添加: 创建规则,指定字段类型 GET 获得这个规则 查看默认的信息 如果没有指定文档字段,es会默认配置字段类型 POST 使用PUT提交覆盖,达到修改的目的。 修改操作会使版本号增加,状态显
ElasticSearch 二(概述、Rest、查询)
让我们跟随时代步伐,时刻学习时刻记录!
05-12 461
ElasticSearch(概述、Rest、查询篇) Elasticserch,简称ESes是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展行很好,可以扩展到上百台服务器,处理PB级别(大数据)的数据,es也使用java并发使用Lucene作为其核心来实现索引和搜索的功能,但是它的目的是通过简单的RESTFUL API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 具体详解访问此链接:https://baike.baidu.com/item/elasticsearch
ES操作命令
zcb_data的博客
01-05 1087
#全局操作 #查看集群健康状况 GET /_cat/health?v #查看节点情况 GET /_cat/nodes?v #查看各个索引状态 GET /_cat/indices?v #创建索引 PUT 索引名?pretty PUT /movie_index #删除索引 DELETE /movie_index #查看某索引的分片情况 GET /_cat/shards/movie_index #创建文档 PUT /movie_index/movie/1 { "id":100, "name":"o.
Elasticsearch之基础Rest API命令
liuwei0376的专栏
11-04 5151
ES基础rest命令, 包括运维类, 索引操作类, 文档操作类, 搜索类等操作命令. 一. 运维类命令 1. 健康度检查 curl 'localhost:9200/_cat/health?v' 2. 查看集群中节点列表 curl 'localhost:9200/_cat/nodes?v' 二. 索引
esrestful命令
weixin_38441551的博客
11-11 998
快速查看集群中有哪些索引 GET _cluster/health 创建索引:PUT /test_index?pretty 删除索引:DELETE /test_index?pretty 商品的CRUD操作 (1)新增商品:新增文档,建立索引 PUT /index/type/id { &amp;amp;amp;quot;json数据&amp;amp;amp;quot; } PUT /ecommerce/product/1 { &
linux通过命令操作es
段晓舟的博客
03-24 2524
查询当前linux下的所有es的索引 curl http://localhost:9200/_cat/indices 删除指定的索引: curl -XDELETE http://localhost:9200/索引
python操作ElasticSearch.rar
01-04
`ES常用命令.txt`可能包含了一些Elasticsearch命令操作,如索引管理、集群状态检查、性能监控等。这些命令通常以curl命令的形式给出,也可以通过ElasticsearchREST API接口在Python中实现。 通过深入学习并...
ES-RestAPI技术分享.docx
04-29
### ElasticsearchES-RestAPI技术概述 #### 一、Elasticsearch简介 Elasticsearch是一款高性能的分布式搜索和分析引擎,适用于实时数据处理场景。它基于Lucene构建,提供了强大的分布式多用户全文检索功能,通过...
ElasticSearch 8 边学边教】03. ElasticSearch 8 的数据基本操作
Y_C_S_M的博客
05-26 836
第二篇记录了Kibana的安装,这一篇就主要记录下在Kibana下对数据的基本操作,当然在讲之前,我得简单介绍一下ElasticSearch的基本概念以及它的数据结构,然后再讲基本操作。 (由于最近在忙着刷Leetcode,同时这一篇涉及的内容比较多,我得专门专门找本书去看,所以更新得比
java操作esrest风格基本操作
qq_45416887的博客
12-14 2266
ES基本操作
ES常用操作命令
最新发布
weixin_38871825的博客
12-09 3981
要创建索引,需要发送带有设置,映射和别名的PUT请求,或者仅发送不带正文的简单请求。Mget批量查询:进行查询的时候,如果一次性查询多条数据的话,采用批量操作的api,尽可能减少网络开销次数,可以将性能大幅度提升。模糊检索:模糊查询查找在模糊度中指定的最大编辑距离内的所有可能的匹配项,然后检查术语字典,以找出在索引中实际存在待检索的关键词。复合查询:这些查询是不同查询的集合,这些查询通过使用布尔运算符(例如和/或,或不)或针对不同的索引或具有函数调用等彼此合并。*查询比较慢,通常需要使用一个长的前缀。
(三)elasticsearch的简单rest操作
xuyilin3310的博客
07-03 328
简介 Es提供易理解、功能强大的rest api,用以用户与集群的交互。可以用作以下操作: 检查集群、节点、索引的健康、状态、统计 执行index的CRUD操作和搜索操作。 执行高级查询。例如paging, sorting, filtering, scripting, aggregations等。 准备 本文通过kibana操作,需要提前运行es集群和kibana。访问Kibana地址...
ES 的基本操作(rest)
不管大小写的博客
05-10 1547
ES版本:6.4.1 创建索引 REST方式如下:(添加 pretty 到调用命令的末尾,目的是打印成格式化的 JSON 响应) curl -XPUT 'IP:9200/index_name?pretty&pretty' ES索引增加数据 curl -XPUT 'localhost:9200/customer/external/1?pretty&pretty' -d' ...
Rest风格操作
MrWangisgoodboy的博客
08-07 397
Rest风格操作
es命令行用法
qq_41386300的博客
12-09 3052
1. 索引相关操作 先查询ES集群中有哪些索引。 curl localhost:9200/_cat/indices 返回空,这时候ES刚刚创建,还没有索引数据库。我们先创建一个索引(包括类型,文档)。 curl -H "Content-Type: application/json" -XPUT localhost:9200/megacorp/employee/1?pretty -d '{...
es中的Rest
多看多听多总结
05-14 642
1、概述 RestHandler作为rest层的处理器,是es接收请求的处理抽象。 2、Rest层相关抽象 2.1 RestHandler 处理rest的处理器,作为函数接口,其方法有 方法 说明 void handleRequest(RestRequest request, RestChannel channel, NodeClient client) 处理rest请求 boolean canTripCircuitBreaker() 是否可以断路,默认返回true
ESRESTfull风格和curl命令(三)
博客
12-18 512
RESTfull一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在目前主流的三种Web服务交互方案中,REST相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC更加简单明了 (Representationa...
Elasticsearch Rest风格操作(一)索引操作
1853
12-17 674
ElasticSearch Rest风格操作(一)索引操作 基本Rest命令说明 method url地址 描述 PUT 127.0.0.1:9200/索引名称/类型名称/文档id 创建文档(指定文档id) POST 127.0.0.1:9200/索引名称/类型名称 创建文档(随机文档id) POST 127.0.0.1:9200/索引名称/类型名称/文档id/_update 修改文档 DELETE 127.0.0.1:9200/索引名称/类型名称/文档id 删除文档 GET
写文章

热门文章

  • MySQL事务【详解-最新的总结】 25001
  • Linux上卸载JDK 24843
  • Mybatis-plus的updateById()方法特性记录 18718
  • RabbitMQ如何防止消息丢失及重复消费 16194
  • kafka 中参数:session.timeout.ms 和 heartbeat.interval.ms的区别 13132

分类专栏

  • Java设计模式 13篇
  • ES 11篇
  • Redis 3篇
  • 消息中间件 3篇
  • Kafka 14篇
  • RabbitMQ 12篇
  • 微服务和分布式 15篇
  • Dubbo 10篇
  • zookeeper 13篇
  • Spring体系框架应用 46篇
  • 算法 17篇
  • LeetCode HOT 100 101篇
  • LeetCode 经典150题 22篇
  • MySQL 40篇
  • JVM 4篇
  • Java基础 80篇
  • 多线程与并发编程 38篇
  • Java各版本新特性 39篇
  • 《On Java 8》 9篇
  • 网络编程与IO 23篇
  • JavaWeb 23篇
  • Linux 4篇
  • 开发总结 19篇

最新评论

  • MySQL事务【详解-最新的总结】

    羁绊徒增负担: 可重复读不是一种隔离机制吗,为什么归类在问题里面,这个不太理解

  • MySQL事务【详解-最新的总结】

    一棵纯白菜: 写的太强了,格式设计一绝,可读性很高赞

  • 二叉树刷题总结

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性。

  • 查找之散列表

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性;(2)使用更多的站内链接。

  • 查找之二分搜索

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)提升标题与正文的相关性。

最新文章

  • 【NO.22】LeetCode经典150题-6. Z 字形变换
  • 【NO.21】LeetCode经典150题-151. 反转字符串中的单词
  • 【NO.20】LeetCode经典150题-14. 最长公共前缀
2024
09月 7篇
08月 16篇
07月 1篇
06月 2篇
05月 2篇
04月 1篇
03月 84篇
02月 10篇
2023年38篇
2022年142篇
2021年60篇
2020年179篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悬浮海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家长沙抽象玻璃钢雕塑多少钱哈尔滨天河玻璃钢人物雕塑郑州佛像玻璃钢卡通雕塑设计晋江玻璃钢花盆厂家批发北京玻璃钢雕塑效果图郑州景观玻璃钢雕塑制作玻璃钢蝎子雕塑玻璃钢商场dp美陈雕塑商场美陈加工温江玻璃钢花盆花器长春玻璃钢雕塑电话广东玻璃钢海豚雕塑艺术小品室内玻璃钢人物雕塑小品周口发光玻璃钢雕塑生产厂家白银玻璃钢植物雕塑哪家好玻璃钢雕塑模具的制作流程湖里园林玻璃钢雕塑报价江苏开业商场美陈批发深圳玻璃钢恐龙雕塑方形玻璃钢花盆定制潮州玻璃钢动物雕塑图片玻璃钢骆驼雕塑工厂店杭州节庆商场美陈人物玻璃钢雕塑价钱如何商场夏季墙面美陈上海正宗玻璃钢雕塑推荐河北常见商场美陈研发公司玻璃钢雕塑维修翻新蝴蝶玻璃钢卡通雕塑厂家肇庆玻璃钢影视道具雕塑制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化