当前位置: 首页 > news >正文

网站导航栏原型图怎么做云南网络推广服务

网站导航栏原型图怎么做,云南网络推广服务,做网站需要哪些框架,网站开发的网页模板搭建自己的搜索引擎——oh-my-search使用 使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎fork代码。 搭建elasticsearch 先搭建eleasticsearch再搭建kibana 搭建e…

搭建自己的搜索引擎——oh-my-search使用

使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎fork代码。

搭建elasticsearch

先搭建eleasticsearch再搭建kibana

搭建elasticsearch
mkdir elasticsarch
cd elasticsarch
mkdir -p /es/plugins
mkdir -p /es/data
mkdir -p /es/logs
mkdir -p /es/config
vim docker-compose.yml

编辑docker-compose.yml文件,内容如下:

version: '3'
services:elasticsearch:image: elasticsearch:8.9.0container_name: elasticsearchprivileged: trueenvironment:- "cluster.name=elasticsearch" #设置集群名称为elasticsearch- "discovery.type=single-node" #以单一节点模式启动- "ES_JAVA_OPTS=-Xms512m -Xmx1096m" #设置使用jvm内存大小- bootstrap.memory_lock=truevolumes:- ./es/plugins:/usr/share/elasticsearch/plugins #插件文件挂载- ./es/data:/usr/share/elasticsearch/data:rw #数据文件挂载- ./es/logs:/usr/share/elasticsearch/logs:rw- ./es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.ymlports:- 9200:9200- 9300:9300deploy:resources:limits:cpus: "2"memory: 1000Mreservations:memory: 200M

其中./es/config/elasticsearch.yml的内容如下,可按需修改:

cluster.name: "elasticsearch"
network.host: 0.0.0.0
  • 启动elasticsearch

配置完成后,启动elasticsearch。

docker-compose --compatibility up -d

同时进入elasticsearch容器内部,修改密码。

# 进入容器内部
docker exec -it elasticsearch bash
# 修改密码
elasticsearch@4c37fcfb6f13:~$ ls
LICENSE.txt  NOTICE.txt  README.asciidoc  bin  config  data  jdk  lib  logs  modules  plugins
elasticsearch@4c37fcfb6f13:~$ bin/elasticsearch-reset-password --username elastic -i
bin/elasticsearch-reset-password --username kibana -i
搭建kibana
mkdir kibana
cd kibana
vim docker-compose.yml

docker-compose.yml的内容如下:

version: '3'
services:kibana:image: kibana:8.9.0container_name: kibanavolumes:- ./kibana.yml:/usr/share/kibana/config/kibana.ymlports:- 5601:5601deploy:resources:limits:cpus: "1"memory: 1000Mreservations:memory: 200M

kibana.yml的文件内容如下,可按需修改:

elasticsearch.hosts: http://elasticsearch:9200
elasticsearch.username: kibana
elasticsearch.password: kibana
server.host: "0.0.0.0"
server.name: kibana
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN

启动kibana,

docker-compose --compatibility up -d

同时搭建eleasticsearch和kibana

  • 使用docker-compose启动elasticsearch

编辑docker-compose.yml文件,内容如下:

version: '3'
services:elasticsearch:image: elasticsearch:8.9.0container_name: elasticsearchprivileged: trueenvironment:- "cluster.name=elasticsearch" #设置集群名称为elasticsearch- "discovery.type=single-node" #以单一节点模式启动- "ES_JAVA_OPTS=-Xms512m -Xmx1096m" #设置使用jvm内存大小- bootstrap.memory_lock=truevolumes:- ./es/plugins:/usr/local/dockercompose/elasticsearch/plugins #插件文件挂载- ./es/data:/usr/local/dockercompose/elasticsearch/data:rw #数据文件挂载- ./es/logs:/usr/local/dockercompose/elasticsearch/logs:rwports:- 9200:9200- 9300:9300deploy:resources:limits:cpus: "2"memory: 1000Mreservations:memory: 200Mkibana:image: kibana:8.9.0container_name: kibanadepends_on:- elasticsearch #kibana在elasticsearch启动之后再启动volumes:- ./es/config/kibana:/usr/share/kibana/config/kibana.yamlports:- 5601:5601

其中kibana.yaml的内容如下:

elasticsearch.hosts: http://elasticsearch:9200
server.host: "0.0.0.0"
server.name: kibana
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN
  • 进入elasticsearch终端,修改elasticsearch密码
# 进入容器内部
docker exec -it elasticsearch bash
# 修改密码
elasticsearch@4c37fcfb6f13:~$ ls
LICENSE.txt  NOTICE.txt  README.asciidoc  bin  config  data  jdk  lib  logs  modules  plugins
elasticsearch@4c37fcfb6f13:~$ bin/elasticsearch-reset-password --username elastic -i
WARNING: Owner of file [/usr/share/elasticsearch/config/users] used to be [root], but now is [elasticsearch]
WARNING: Owner of file [/usr/share/elasticsearch/config/users_roles] used to be [root], but now is [elasticsearch]
This tool will reset the password of the [elastic] user.
You will be prompted to enter the password.
Please confirm that you would like to continue [y/N]yEnter password for [elastic]: 
Re-enter password for [elastic]: 
Password for the [elastic] user successfully reset.
elasticsearch@4c37fcfb6f13:~$
  • 生成kibana的token
# 重启容器然后进入容器内部生成kibana的token
docker exec -it elasticsearch bash
elasticsearch@4c37fcfb6f13:~$ bin/elasticsearch-create-enrollment-token -s kibana
  • 获取kibana验证码
# 在浏览器打开http://ip:5601,粘贴kibana的token,然后进入kibana容器内部获取验证码
sudo docker exec -it kibana bash       
kibana@fce2ab8aec1e:~$ ls
LICENSE.txt  NOTICE.txt  README.txt  bin  config  data  logs  node  node_modules  package.json  packages  plugins  src  x-pack
kibana@fce2ab8aec1e:~$ bin/kibana-verification-code 
Your verification code is:  042 943 

搭建search-ui

  • 创建search-ui项目
npm install -g  create-react-app
# 创建名为doc_index的项目
create-react-app doc_index --use-npm
cd doc_index
npm install --save @elastic/react-search-ui @elastic/search-ui-app-search-connector @elastic/search-ui-elasticsearch-connector
  • 启动search-ui项目
npm start
  • 创建api_key

登录kibana,进入到/app/management/security/api_keys/,创建一个api_key并记录api_key.

  • 创建索引

登录kibana的dev_tools创建和设置索引:

# 创建索引
PUT /doc_index# 设置索引属性
PUT /doc_index/_mapping
{"properties":{"title":{"type":"text","fields":{"suggest": {"type": "search_as_you_type"}}},"category":{"type":"text"},"url":{"type":"text"}}
}# 设置查询返回的最大条数
PUT /doc_index/_settings
{"index" : {"max_result_window": 500000}
}
  • 导入数据
# 插入单条数据
POST /doc_index/_bulk
{"index":{}}
{"title":"test","category":"test","url":"http://localhost:3000"}## 批量插入
POST /doc_index/_bulk
{"index":{}}
{"title":"test2","category":"test","url":"http://localhost:3001"}
{"index":{}}
{"title":"dir","category":"test","url":"http://localhost:3002"}
{"index":{}}
{"title":"ddssd","category":"test","url":"http://localhost:3003"}
{"index":{}}
{"title":"测试","category":"test","url":"http://localhost:3004"}

当然也可以用命令行插入,如使用curl命令:

curl --username username:password -H "Content-Type: application/json" -XPOST  192.168.56.130:9200/bank/account/_bulk?pretty --data-binary "@test.json"

其中–username指定elasticsearch的用户名和密码,test.json的内容如下:

{"index":{}}
{"title":"test2","category":"test","url":"http://localhost:3001"}
{"index":{}}
{"title":"dir","category":"test","url":"http://localhost:3002"}
{"index":{}}
{"title":"ddssd","category":"test","url":"http://localhost:3003"}
{"index":{}}
{"title":"测试","category":"test","url":"http://localhost:3004"}

完整数据插入命令如下:


PUT /doc_index/_mapping
{"properties":{"title":{"type":"text","fields":{"suggest": {"type": "search_as_you_type"}}},"category":{"type":"text"},"url":{"type":"text"}}
}PUT /doc_index/_settings
{"index" : {"max_result_window": 500000}
}GET /doc_index/_searchPOST /doc_index/_bulk
{"index":{}}
{"title":"test2","category":"test","url":"http://localhost:3001"}
{"index":{}}
{"title":"dir","category":"test","url":"http://localhost:3002"}
{"index":{}}
{"title":"ddssd","category":"test","url":"http://localhost:3003"}
{"index":{}}
{"title":"测试","category":"test","url":"http://localhost:3004"}

完善search-ui

search-ui下载下来之后,还没有绑定数据,此时还需要修改app.js来进行适配。

app.js需更改成:

// Step #1, import statements
import React from "react";
// 这里需要注意app和网页的接口名称不一样
import ElasticsearchAPIConnector from "@elastic/search-ui-elasticsearch-connector";
import {PagingInfo,ResultsPerPage,Paging,SearchProvider,Results,SearchBox,Sorting
} from "@elastic/react-search-ui";
import { Layout } from "@elastic/react-search-ui-views";
import "@elastic/react-search-ui-views/lib/styles/styles.css";// Step #2, The connector
const connector = new ElasticsearchAPIConnector({host: "http://elasticsearch:9200", // elasticsearch的地址apiKey: "WjUxNVpZc0JTb3pYN2J6cEdqRHQ6R3Y0all0R1dTai1LSjhqMGc5THFVdw==", // elasticsearch 的登录秘钥,在kibana上生成index: "doc_index" // 要访问的索引的地址
});// Step #3: Configuration options
const configurationOptions = {searchQuery: {search_fields: {title: {weight: 3},url: {},category: {}},result_fields: {title: {snippet: {}},url: {snippet: {}},category: {snippet: {}}}},apiConnector: connector,alwaysSearchOnInitialLoad: true
};// step4 show result 
export default function App() {return (<SearchProvider config={configurationOptions}><div className="App"><Layoutheader={<SearchBox />}// 要展示的标题和标题对应的连接bodyContent={<Results titleField="title" urlField="url" />}bodyHeader={<><PagingInfo /><ResultsPerPage /></>}bodyFooter={<Paging />}/></div></SearchProvider>);
}

还可以修改一下public下面的title标签,修改成自己的项目标签。如:

<title>doc_index</title>
http://www.tj-hxxt.cn/news/24861.html

相关文章:

  • 如何用ps做照片模板下载网站佛山网站建设技术托管
  • 12个 网站模板 管理办法一级域名二级域名三级域名的区别
  • 网站推广的定义seo搜索引擎优化工资多少钱
  • 虹口网站开发培训课程怎么自己开发网站
  • 网站怎么让浏览器的url处只显示主域名网站建设制作过程
  • 成都鲜花网站建设子域名查询工具
  • ps软件下载电脑版要钱吗网站推广和网站优化
  • java都是做网站吗石家庄seo推广公司
  • 企业形象包装设计百度app关键词优化
  • 企业网站的建设流程包含哪些环节?杭州数据推广
  • 罗湖网站建设价格爱站工具包官网
  • jsp网站开发实例.百度网盘可以发广告的100个网站
  • 网站后台怎样登陆外包公司
  • 网站的前台和后台站外推广方式有哪些
  • 济宁网站建设有限公司seo精华网站
  • 优质网站策划seo网站结构优化的方法
  • 想自学做网站百度广告标识
  • 原有网站已备案 怎么做接入h5页面制作平台
  • 做网站需要学jspwin10优化
  • 网站建设公司 经营范围免费建一级域名网站
  • 2016个人网站备案高端企业网站模板
  • 数据线东莞网站建设技术支持seo关键词推广渠道
  • 深圳双语网站制作如何建网站教程
  • 企业做网站费用网站设计需要什么
  • 做照片相册最好的网站seo建站营销
  • 做网站尺寸一般都多大推广联系方式
  • 宜昌网站建设谷歌浏览器网页版
  • 跨境电商是不是坑网站搜索排名优化怎么做
  • 一级a做爰片免费网站短视频搜索引擎营销简称为
  • 自适应网站制作简创网络软文什么意思范例