基于文章内容和标题的搜索方法和装置与流程

文档序号:25616404发布日期:2021-06-25 16:10阅读:172来源:国知局
基于文章内容和标题的搜索方法和装置与流程

1.本发明涉及大数据搜索领域,具体而言,涉及一种基于文章内容和标题的搜索方法和装置。


背景技术:

2.随着计算机技术的进步,大数据搜索得到了快速发展。目前的大数据搜索是基于mysql、solr、elasticsearch、hermes等技术实现的。其中solr、elasticsearch侧重搜索与全文检索,数据规模可达百万至千万,solr利用zookeeper进行分布式管理,支持多种格式的数据,在传统搜索应用中使用广泛,对于处理实时搜索应用效率偏低,elasticsearch(简称es)支持json格式的数据,自身带有分布式协调管理功能,处理实时搜索应用时效率高于solr。hermes是一个基于大索引技术的海量数据实时检索分析平台,侧重数据分析,数据规模从几亿到万亿不等。
3.在以上方案中,mysql全文检索效率偏低,结果匹配相关度低,且无法完成分词检索,产品使用体验感偏差;solr处理实时应用效率偏低;hermes侧重于数据分析,在搜索与全文检索方面效率偏低;elasticsearch的搜索基于数据,聚合时无法以面向对象的形式将匹配到多个数据聚合为同一个数据。


技术实现要素:

4.本发明的主要目的在于提供一种基于文章内容和标题的搜索方法和装置,以解决现有技术中不能对检索到的数据进行聚合处理的问题。
5.为了实现上述目的,根据本发明的一个方面,提供了一种基于文章内容和标题的搜索方法,包括:利用搜索系统采用分布式存储的方式存储文章数据,其中,搜索系统为采用elasticsearch实现的系统;在接收到用户终端的文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索;将检索时匹配到的数据以文章为对象进行聚合,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示。
6.可选地,利用搜索系统采用分布式存储的方式存储文章数据包括:将整篇文章按照标题和段落进行拆分后以标准数据结构的方式在分布式存储系统中进行存储,其中,标准数据结构包括如下字段:所属文章的标识、所属文章的文章类型、所属文章的来源、所属文章的文章名称、内容、所属文章的url、是否为文章标题、所属文章的发布时间、数据产生时间以及存储时间。
7.可选地,在接收到文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索包括:按照文章搜索请求中的关键字,在搜索系统中进行文章内容和标题的实时检索,得到搜索结果,搜索结果包括单个文章或者多个文章,其中,单个文章包括以下几种情形:只匹配到标题的单个文章、只匹配到段落的单个文章、同时匹配到标题和段落的单个文章,多个文章包括以下几种情形:匹配到的都是标题的多个文章、部分文章同时匹配到标题和段落、一部分文章只匹配到标题且另一部分文章(与之前描述的一部分文章不同,且可以是除
开这部分文章后剩余文章的部分或者全部)只匹配到段落。
8.可选地,将检索时匹配到的数据以文章为对象进行聚合包括:对于匹配到标题的数据,对所属文章的标识相同的数据进行聚合;对于只匹配到段落的数据,对所属文章的标识相同的数据进行聚合。
9.可选地,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示包括:采用相关性算法计算匹配到的文章与文章搜索请求中关键字之间的相关度;采用分页展示的方式,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示。
10.可选地,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示包括:在用户终端上按照预设的展示配置,对匹配到的文章按照相关度从大到小进行高亮展示,其中,预设的展示配置为只展示标题或同时展示标题和段落。
11.可选地,在采用分页展示的方式对匹配到的文章进行高亮展示之后,在收到用户终端的搜索请求的情况下,若收到搜索请求中的关键字与文章搜索请求中的关键字相同,则向用户终端返回与前一次相同的搜索结果。
12.为了实现上述目的,根据本发明的一个方面,还提供了一种基于文章内容和标题的搜索装置,包括:存储单元,用于利用搜索系统采用分布式存储的方式存储文章数据,其中,搜索系统为采用elasticsearch实现的系统;搜索单元,用于在接收到用户终端的文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索;展示单元,用于将检索时匹配到的数据以文章为对象进行聚合,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示。
13.可选地,存储单元还用于:将整篇文章按照标题和段落进行拆分后以标准数据结构的方式在分布式存储系统中进行存储,其中,标准数据结构包括如下字段:所属文章的标识、所属文章的文章类型、所属文章的来源、所属文章的文章名称、内容、所属文章的url、是否为文章标题、所属文章的发布时间、数据产生时间以及存储时间。
14.可选地,搜索单元还用于:按照文章搜索请求中的关键字,在搜索系统中进行文章内容和标题的实时检索,得到搜索结果,搜索结果包括单个文章或者多个文章,其中,单个文章包括以下几种情形:只匹配到标题的单个文章、只匹配到段落的单个文章、同时匹配到标题和段落的单个文章,多个文章包括以下几种情形:匹配到的都是标题的多个文章、部分文章同时匹配到标题和段落、部分文章只匹配到标题而部分文章只匹配到段落。
15.可选地,展示单元还用于:对于匹配到标题的数据,对所属文章的标识相同的数据进行聚合;对于只匹配到段落的数据,对所属文章的标识相同的数据进行聚合。
16.可选地,展示单元还用于:采用相关性算法计算匹配到的文章与文章搜索请求中关键字之间的相关度;采用分页展示的方式,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示。
17.可选地,展示单元还用于:在用户终端上按照预设的展示配置,对匹配到的文章按照相关度从大到小进行高亮展示,其中,预设的展示配置为只展示标题或同时展示标题和段落。
18.可选地,本申请的装置还可包括:响应单元,用于在采用分页展示的方式对匹配到的文章进行高亮展示之后,在收到用户终端的搜索请求的情况下,若收到搜索请求中的关键字与文章搜索请求中的关键字相同,则向用户终端返回与前一次相同的搜索结果。
19.根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
20.根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
21.应用本发明的技术方案,采用elasticsearch完成了百万数量的分布式存储;采用elasticsearch完成文章内容和标题的实时检索,将匹配到的数据以文章为对象聚合,并采取分页展示特定数目的文章数据,对匹配到的数据进行高亮展示,可解决现有技术中不能对检索到的数据进行聚合处理的问题,提高用户使用体验感。
22.除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
23.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
24.图1示出了根据本发明的一种可选的基于文章内容和标题的搜索方法的流程图;
25.图2示出了根据本发明的一种可选的文章的搜索结果的示意图;
26.图3示出了根据本发明的一种可选的相关度计算方案的示意图;
27.图4示出了根据本发明的一种可选的相关度计算方案的示意图;
28.图5示出了根据本发明的一种可选的相关度计算方案的示意图;
29.图6示出了根据本发明的一种可选的相关度计算结果的示意图;
30.图7示出了根据本发明的一种可选的数据节点的示意图;
31.图8示出了根据本发明的一种可选的数据检索的示意图;以及,
32.图9示出了根据本发明的一种可选的文章搜索方案的示意图。
具体实施方式
33.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
37.根据本申请实施例的一方面,提供了一种基于文章内容和标题的搜索方法的实施例。如图1所示:
38.步骤s101,利用搜索系统采用分布式存储的方式存储文章数据,搜索系统为采用elasticsearch实现的系统。
39.可选地,利用搜索系统采用分布式存储的方式存储文章数据包括:将整篇文章按照标题和段落进行拆分后以标准数据结构的方式在分布式存储系统中进行存储,标准数据结构包括如下字段:所属文章的标识、所属文章的文章类型、所属文章的来源、所属文章的文章名称、内容、所属文章的url、是否为文章标题、所属文章的发布时间、数据产生时间以及存储时间。
40.步骤s102,在接收到用户终端的文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索。
41.可选地,在接收到文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索包括:按照文章搜索请求中的关键字,在搜索系统中进行文章内容和标题的实时检索,得到搜索结果,搜索结果包括单个文章或者多个文章,单个文章包括以下几种情形:只匹配到标题的单个文章、只匹配到段落的单个文章、同时匹配到标题和段落的单个文章,多个文章包括以下几种情形:匹配到的都是标题的多个文章、部分文章同时匹配到标题和段落、部分文章只匹配到标题且部分文章只匹配到段落。
42.步骤s103,将检索时匹配到的数据以文章为对象进行聚合,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示。
43.可选地,将检索时匹配到的数据以文章为对象进行聚合包括:对于匹配到标题的数据,对所属文章的标识相同的数据进行聚合;对于只匹配到段落的数据,对所属文章的标识相同的数据进行聚合。
44.可选地,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示包括:采用相关性算法计算匹配到的文章与文章搜索请求中关键字之间的相关度;采用分页展示的方式,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示。
45.可选地,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示包括:在用户终端上按照预设的展示配置,对匹配到的文章按照相关度从大到小进行高亮展示,预设的展示配置为只展示标题或同时展示标题和段落。
46.可选地,在采用分页展示的方式对匹配到的文章进行高亮展示之后,在收到用户终端的搜索请求的情况下,若收到搜索请求中的关键字与文章搜索请求中的关键字相同,则向用户终端返回与前一次相同的搜索结果。
47.在elasticsearch的相关使用案例中,可采取elasticsearch来做pb级的搜索;启动以elasticsearch为基础的核心搜索架构为用户提供即时而精准的音乐搜索服务;使用elasticsearch作为文本数据分析,采集服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常;用es分析处理上
亿条的实时日志;使用es构建日志采集和分析体系。综上,考虑产品的实时搜索以及实时数据分析,本方案基于elasticsearch完成基于文章内容和标题的全文检索。
48.在本方案中,采用elasticsearch完成了百万数量的分布式存储;采用elasticsearch完成文章内容和标题的实时检索,将匹配到的数据以文章为对象聚合,并采取分页展示特定数目的文章数据,对匹配到的数据进行高亮展示,提高用户使用体验感。下文结合具体实施方案进一步详述本申请的技术方案:
49.步骤1,数据结构的创建,将一整篇文章按标题和段落进行拆分,数据结构格式如下表1所示。
50.表1
[0051][0052][0053]
步骤2,用户行为分析。
[0054]
在搜索行为分析时,对于单个文章包括以下几种情况,如图2所示:搜索结果只匹配到标题、搜索结果只匹配到段落、搜索结果匹配到段落和标题。
[0055]
对于多个文章包括以下几种情况:匹配到的数据都是不同文章的标题、部分文章既匹配到标题又匹配到段落、部分文章只匹配到标题或部分文章只匹配到段落。
[0056]
搜索过滤字段为sorttext(即搜索关键字)。展示包括以下几种情况:只展示标题、标题和段落都展示。
[0057]
由于对于匹配结果为标题和段落的要进行不同的处理,需要对搜索后的结果进行istitle判断;对相同的文章进行聚合,文章数据结构如下:
[0058][0059]
最终聚合的搜索结果的结构如下:
[0060][0061][0062]
文章聚合的实现过程:
[0063]
获取通过es返回的数据,技术将文章和段落通过数据结构中的paperid(相同的paperid为相同文章)实现聚合。
[0064]
a:先匹配标题,先将匹配到是标题的数据,将其所有paperid相同数据聚合。
[0065]
遍历所有文章的文章标题、文章的url、文章的来源名称和文章的发布时间,将文章段落和文章标题(标题的文章id)进行绑定,从而得到文章段落集合,对于集合中的段落,如果标题的文章id和段落的文章id相同,则可以判定来自同一个文章。
[0066]
b:匹配段落,搜索结果有可能只会匹配到段落,对于标题匹配完的数据,可再次根据paperid聚合。
[0067]
步骤3,搜索文本的分词分析。所采用的分词机制如表2所示。
[0068]
表2
[0069]
character filter对原始文本进行处理例:去除html标签、特殊字符等tokenizer将原始文本进行分词例:医药资讯
‑‑
>医药,资讯token filters分词后的关键字进行加工例:转小写、删除语气词、近义词和同义词等
[0070]
步骤4,利用相关性算法计算相关度,如图3所示。
[0071]
步骤401,确定要查询的短语alfred way。
[0072]
步骤402,确定关键词在每个文档doc中出现的次数tf(词频term frequency)。
[0073]
步骤403,确定关键词在整个索引中出现的次数idf(反文档词频inversed document frequency)。
[0074]
步骤404,确定字段长度norm,字段长度越长,值越小。
[0075]
步骤405,确定对一个文档doc最终的评分结果score(q,d)。
[0076]
步骤406,利用querynorm(q),在不影响相互关系的前提下,把看似离散的数据,转
换到一个相近的区间,以更加人性化。
[0077]
步骤407,利用coord(q,d)对匹配的结果加分,越匹配的文档doc加分越多,可根据用户名称username的倒排索引进行匹配算分。
[0078]
步骤408,利用∑函数汇总得分,求取文档doc对query中每个trem的权重的总和。
[0079]
步骤409,利用tf(t in d)确定该trem在文档doc中出现的次数的平方根。
[0080]
步骤410,利用t.getboost()设置的权重值。
[0081]
步骤411,norm(t,d),字段长度越长,结果越小。
[0082]
本方案可以通过tf/ide模型实现,如图4所示,也可以通过bm25模型实现,如图5所示,二者的评分对比如图6所示。
[0083]
步骤5,分布式存储,为避免单点故障带来的数据丢失风险,本方案采用多节点分布式存储,通过主备、主从设计模式提高系统的高可用。
[0084]
操作数据节点工作方案如图7所示:
[0085]
1)客户端给集群cluster中的节点node 1(即主节点master)发送新建、索引或删除请求。
[0086]
2)节点使用文档的id确定文档属于分片0,它转发请求到node 3,分片0位于这个节点上。
[0087]
3)node 3在主分片上执行请求,如果成功,它转发请求到相应的位于node 1和node 2的复制节点上,当所有的复制节点报告成功,node 3报告成功到请求的节点,请求的节点再报告给客户端。
[0088]
检索方案如图8所示:
[0089]
1)客户端给node 1发送get请求。
[0090]
2)节点使用文档的id确定文档属于分片0,分片0对应的复制分片在三个节点上都有。此时,它转发请求到node 2。
[0091]
3)node 2返回文档(document)给node 1然后返回给客户端。
[0092]
对于读请求,为了平衡负载,请求节点会为每个请求选择不同的分片,它会循环所有分片副本。可能的情况是,一个被索引的文档已经存在于主分片上却还没来得及同步到复制分片上。这时复制分片会报告文档未找到,主分片会成功返回文档。一旦索引请求成功返回给用户,文档则在主分片和复制分片都是可用的。
[0093]
可选地,将用户注册的id作为唯一标识,将用户的第一次请求访问的数据通过redis缓存技术与用户关联,当用户再次发起相同请求时将会从缓存中获取数据,再次提高响应速度。
[0094]
如图9所示,用户注册之后将用户id和uri(统一资源标志符uniform resource identifier的简称)进行绑定,如果访问的uri除了pageno和pagesize之外所有的参数都相同,将缓存数据展示给用户,反之重新访问elasticsearch。
[0095]
在本申请的技术方案中,采用集群方案,通过主备、主从模式提高了系统的高可用;采用elasticsearch倒排索引原理,将搜索条件尽可能大的分词,提高匹配相关度,并以高亮的形式展示给用户,提高用户体验感;以面向文章对象的思维将匹配到内容高度聚合成一个文章展示给用户。
[0096]
由于业务采用排序,打破了es默认的相关性算法,所以采用filter作为查询,替代
match,因为filter不根据score排序,性能高,而且filter会在多次相同操作后会添加缓存。
[0097]
该方案采用elasticsearch完成百万数量的分布式存储;采用elasticsearch完成文章内容和标题的实时检索,将匹配到的数据以文章为对象聚合,并采取分页展示特定数目的文章数据,对匹配到的数据进行高亮展示,提高用户使用体验感。
[0098]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0099]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
[0100]
根据本申请实施例的另一个方面,还提供了一种基于文章内容和标题的搜索装置。包括:存储单元,用于利用搜索系统采用分布式存储的方式存储文章数据,其中,搜索系统为采用elasticsearch实现的系统;搜索单元,用于在接收到用户终端的文章搜索请求时,在搜索系统中进行文章内容和标题的实时检索;展示单元,用于将检索时匹配到的数据以文章为对象进行聚合,采用分页展示的方式在用户终端上对匹配到的文章进行高亮展示。
[0101]
可选地,存储单元还用于:将整篇文章按照标题和段落进行拆分后以标准数据结构的方式在分布式存储系统中进行存储,其中,标准数据结构包括如下字段:所属文章的标识、所属文章的文章类型、所属文章的来源、所属文章的文章名称、内容、所属文章的url、是否为文章标题、所属文章的发布时间、数据产生时间以及存储时间。
[0102]
可选地,搜索单元还用于:按照文章搜索请求中的关键字,在搜索系统中进行文章内容和标题的实时检索,得到搜索结果,搜索结果包括单个文章或者多个文章,其中,单个文章包括以下几种情形:只匹配到标题的单个文章、只匹配到段落的单个文章、同时匹配到标题和段落的单个文章,多个文章包括以下几种情形:匹配到的都是标题的多个文章、部分文章同时匹配到标题和段落、部分文章只匹配到标题而部分文章只匹配到段落。
[0103]
可选地,展示单元还用于:对于匹配到标题的数据,对所属文章的标识相同的数据进行聚合;对于只匹配到段落的数据,对所属文章的标识相同的数据进行聚合。
[0104]
可选地,展示单元还用于:采用相关性算法计算匹配到的文章与文章搜索请求中关键字之间的相关度;采用分页展示的方式,在用户终端上对匹配到的文章按照相关度从大到小进行高亮展示。
[0105]
可选地,展示单元还用于:在用户终端上按照预设的展示配置,对匹配到的文章按照相关度从大到小进行高亮展示,其中,预设的展示配置为只展示标题或同时展示标题和段落。
[0106]
可选地,本申请的装置还可包括:响应单元,用于在采用分页展示的方式对匹配到的文章进行高亮展示之后,在收到用户终端的搜索请求的情况下,若收到搜索请求中的关键字与文章搜索请求中的关键字相同,则向用户终端返回与前一次相同的搜索结果。
[0107]
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
[0108]
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
[0109]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0110]
为了便于描述,在这里可以使用空间相对术语,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在
……
上方”可以包括“在
……
上方”和“在
……
下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
[0111]
在本发明的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
[0112]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1