SEO教程

SEO教程

Products

当前位置:首页 > SEO教程 >

如何在深圳为唐山企业定制高效网站?

96SEO 2026-02-20 04:16 3


elasticsearch结合kibana、Logstash、Beats#xff0c;也就是elastic

如何在深圳为唐山企业定制高效网站?

stack(ELK)。

被广泛应用在日志数据分析、实时监控等领域…初识elasticsearch

elasticsearch是一款非常强大的开源搜索引擎可以帮助我们从海量数据中快速找到需要的内容。

elasticsearch结合kibana、Logstash、Beats也就是elastic

stack(ELK)。

被广泛应用在日志数据分析、实时监控等领域。

Lucene是一个Java语言的搜索引擎类库是Apache公司的顶级项目由DougCutting于1999年研发。

官网地址:

易扩展高性能(基于倒排索引)

Banon重写了Compass取名为Elasticsearch。

官网地址:

https://www.elastic.co/cn/目前最新的版本是:8.7.0

为什么学习elasticsearch?

Elasticsearch:开源的分布式搜索引擎Splunk:商业项目Solr:

系统监控等功能

是以elasticsearch为核心的技术栈包括beats、Logstash、kibana、elasticsearch

正向索引和倒排索引

传统数据库如MySQL采用正向索引例如给下表(tb_goods中的id创建索引:

elasticsearch采用倒排索引:

对文档内容分词对词条创建索引并记录词条所在文档的信息。

查询时先根据词条查询到文档id而后获取到文档

elasticsearch是面向文档存储的可以是数据库中的一条商品数据一个订单信息。

文档数据会被序列化为json格式后存储在elasticsearch中。

索引(lndex)

文档:一条数据就是一个文档es中是Json格式字段:Json文档中的字段索引:同类型文档的集合映射:索引中文档的约束比如字段名称、类型

数据库负责事务类型操作elasticsearch负责海量数据的搜索、分析、计算

1.部署单点es

因为我们还需要部署kibana容器因此需要让es和kibana容器互联。

这里先创建一个网络

docker

这里我们采用elasticsearch的7.12.1版本的镜像这个镜像体积非常大接近1G。

不建议大家自己pull。

将镜像上传到虚拟机中然后运行命令加载即可

导入数据

es-data:/usr/share/elasticsearch/data

\-v

es-plugins:/usr/share/elasticsearch/plugins

\--privileged

cluster.namees-docker-cluster设置集群名称-e

ES_JAVA_OPTS-Xms512m

discovery.typesingle-node非集群模式-v

es-data:/usr/share/elasticsearch/data挂载逻辑卷绑定es的数据-v

es-plugins:/usr/share/elasticsearch/plugins挂载逻辑卷绑定es的插件目录--privileged授予逻辑卷访问权--network

es-net

kibana可以给我们提供一个elasticsearch的可视化界面便于我们学习。

2.1.部署

ELASTICSEARCH_HOSTShttp://es:9200

--networkes-net

加入一个名为es-net的网络中与elasticsearch在同一个网络中-e

ELASTICSEARCH_HOSTShttp://es:9200设置elasticsearch的地址因为kibana已经与elasticsearch在一个网络因此可以用容器名直接访问elasticsearch-p

5601:5601端口映射配置

此时在浏览器输入地址访问http://ip地址:5601即可看到结果

2.2.DevTools

这个界面中可以编写DSL来操作elasticsearch。

并且对DSL语句有自动补全功能。

分词器

es在创建倒排索引时需要对文档分词;在搜索时需要对用户输入内容分词。

但默认的分词规则对中文处理并不友好。

我们在kibana的DevTools中测试:

测试分词器

POST:请求方式/_analyze:请求路径这里省略了http://192.168.150.101:9200有kibana帮我们补充请求参数json风格:

analyzer:分词器类型这里是默认的standard分词器text:要分词的内容

处理中文分词一般会使用IK分词器。

https://github.com/medcl/elasticsearch-analysis-ik

安装IK分词器

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip#退出

exit

安装插件需要知道elasticsearch的plugins通过下面命令查看:

docker

2023-04-29T04:11:4908:00,Driver:

local,Labels:

/var/lib/docker/volumes/es-plugins/_data,Name:

es-plugins,Options:

也就是/var/lib/docker/volumes/es-plugins/_data

4重启容器

要拓展ik分词器的词库只需要修改一个ik分词器中的IKAnalyzer.cfg.xml文件:

?xml

http://java.sun.com/dtd/properties.dtd

propertiescommentIK

扩展配置/comment!--用户可以在这里配置自己的扩展字典

--entry

/properties然后在名为ext.dic的文件中添加想要拓展的词语即可:

鸡你太美

要禁用某些敏感词条只需要修改一个ik分词器中的IKAnalyzer.cfg.xml文件:

?xml

http://java.sun.com/dtd/properties.dtd

propertiescommentIK

扩展配置/comment!--用户可以在这里配置自己的扩展字典

--entry

keyext_dictext.dic/entry!--用户可以在这里配置自己的扩展停止词字典--entry

keyext_stopwordsstopword./entry

/properties然后在名为stopword.dic的文件中添加想要拓展的词语即可:

啊索引库操作

mapping是对索引库中文档的约束常见的mapping属性包括:

字符串:

(可分词的文本)、keyword精确值例如:品牌、国家、ip地址)数值:long、integer、short、byte、double、float布尔:

index:是否创建索引默认为trueanalyzer:使用哪种分词器properties:该字段的子字段

创建索引库

ES中通过Restful请求操作索引库、文档。

请求内容用DSL语句来表示。

创建索引库和mapping的DSL语法如下:

{mappings:

索引库和mapping一旦创建无法修改但是可以添加新的字段语法如下:

PUT/索引库名/

ES官方提供了各种不同语言的客户端用来操作ES。

这些客户端的本质就是组装DSL语句通过http请求发送给ES。

官方文档地址:

https://www.elastic.co/guide/en/elasticsearch/client/index.html

利用JavaRestClient实现创建、删除索引库判断索引库是否存在

根据课前资料提供的酒店数据创建索引库索引库名为hotelmapping属性根据数据库结构定义。

基本步骤如下:

字段名、数据类型、是否参与搜索、是否分词、如果分词分词器是什么?

ES中支持两种地理坐标数据类型:

longitude确定的一个点。

例如:“32.8752345,120.2981576”geo_shape:有多个geo_point组成的复杂几何图形。

例如一条直线

“LINESTRING

字段拷贝可以使用copy_to属性将当前字段拷贝到指定字段。

示例:

all:

dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion7.12.1/version

/dependency因为SpringBoot默认的ES版本是7.6.2所以我们需要覆盖默认的ES版本:

propertiesjava.version1.8/java.versionelasticsearch.version7.12.1/elasticsearch.version

/properties初始化RestHighLevelClient:

package

org.elasticsearch.client.RestClient;

import

org.elasticsearch.client.RestHighLevelClient;

import

org.junit.jupiter.api.AfterEach;

import

org.junit.jupiter.api.BeforeEach;

import

org.junit.jupiter.api.Test;import

class

{System.out.println(client);}BeforeEachvoid

setUp()

RestHighLevelClient(RestClient.builder(HttpHost.create(http://192.168.5.131:9200)));}AfterEachvoid

tearDown()

cn.itcast.hotel.constants;public

class

{//1.创建Request对象CreateIndexRequest

request

CreateIndexRequest(hotel);//2.准备请求的参数:DSL语句request.source(MAPPING_TEMPLATE,

XContentType.JSON);//3.发送请求client.indices().create(request,

Test

{//1.创建Request对象DeleteIndexRequest

request

DeleteIndexRequest(hotel);//2.发送请求client.indices().delete(request,

Test

{//1.创建Request对象GetIndexRequest

request

GetIndexRequest(hotel);//2.发送请求boolean

exists

client.indices().exists(request,

RequestOptions.DEFAULT);//3.输出System.err.println(exists?索引库已经存在

索引库不存在);

去数据库查询酒店数据导入到hotel索引库实现酒店数据的CRUD。

基本步骤如下:

初始化JavaRestClient

新建一个测试类实现文档相关操作并且完成JavaRestClient的初始化

public

RestHighLevelClient(RestClient.builder(HttpHost.create(http://192.168.5.131:9200)));}AfterEachvoid

tearDown()

hotelService.getById(61083L);//转换为文档类型HotelDoc

hotelDoc

HotelDoc(hotel);//1.准备Request对象IndexRequest

request

IndexRequest(hotel).id(hotel.getId().toString());//2.准备Json文档request.source(JSON.toJSONString(hotelDoc),

XContentType.JSON);//3.发送请求client.index(request,

根据id查询到的文档数据是json需要反序列化为java对象:

Test

RequestOptions.DEFAULT);//3.解析结果String

json

response.getSourceAsString();HotelDoc

hotelDoc

HotelDoc.class);System.out.println(hotelDoc);

修改文档数据有两种方式:

方式一:全量更新。

再次写入id一样的文档就会删除旧文档添加新文档(同新增)

Test

利用mybatis-plus查询酒店数据将查询到的酒店数据(Hotel)转换为文档类型数据HotelDoc)利用JavaRestClient中的Bulk批处理实现批量新增文档

Test

HotelDoc(hotel);//创建新增文档的Request对象request.add(new

IndexRequest(hotel).id(hotelDoc.getId().toString()).source(JSON.toJSONString(hotelDoc),

DeleteRequest

案例2利用JavaRestClient**批量导入**酒店数据到ES需求:批量查询酒店数据然后批量导入索引库中

思路:1.

将查询到的酒店数据(Hotel)转换为文档类型数据HotelDoc)

利用JavaRestClient中的Bulk批处理实现批量新增文档java

Test

HotelDoc(hotel);//创建新增文档的Request对象request.add(new

IndexRequest(hotel).id(hotelDoc.getId().toString()).source(JSON.toJSONString(hotelDoc),



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback