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

做磁力搜索网站违法吗建设行业网站平台的瓶颈

做磁力搜索网站违法吗,建设行业网站平台的瓶颈,深圳建设工程交易网站官网,兰州市网络公司Easysearch 一直致力于提高易用性#xff0c;这也是我们的核心宗旨#xff0c;然而之前一直没有官方的 Java 客户端#xff0c;也对用户使用造成了一些困扰#xff0c;现在#xff0c;我们正式发布了第一个 Java 客户端 Easysearch-client:1.0.1。 这一里程碑式的更新为开…Easysearch 一直致力于提高易用性这也是我们的核心宗旨然而之前一直没有官方的 Java 客户端也对用户使用造成了一些困扰现在我们正式发布了第一个 Java 客户端 Easysearch-client:1.0.1。 这一里程碑式的更新为开发人员带来了前所未有的便利性使得与 Easysearch 集群的交互变得更加简洁和直观。通过 Easysearch-client开发者可以直接使用 Java 方法和数据结构来进行交互而不再需要依赖于传统的 HTTP 方法和 JSON。 这一变化大大简化了操作流程使得数据管理和索引更加高效。Java 客户端的功能范围包括处理数据操作管理集群包括查看和维护集群的健康状态并对 Security 模块全面兼容。它提供了一系列 API用于管理角色、用户、权限、角色映射和账户。 这意味着安全性和访问控制现在可以更加细粒度地管理确保了数据的安全性和合规性。 在这篇博客中你将学习如何配置 Easysearch-client 客户端以通过 HTTPS 连接到 Easysearch。为了演示目的我将首先设置一个带有 SSL 证书的 Easysearch 服务器。如果你已经有一个在运行你可以跳过这一步。 接下来我将引导你完成在 Java 应用程序中配置和使用 Java 客户端的步骤。 设置 Easysearch 服务器 首先从极限科技官网下载最新的 Mac 版本。我使用的是 1.6.1 版本这是我写这篇文章时的最新版本。 wget https://dl-global.infinilabs.com/easysearch/stable/easysearch-1.6.1-214-mac-amd64.zip确保您的系统已经安装并设置了 java 环境变量版本在 11 以上。 解压下载文件。 unzip easysearch-1.6.1-214-mac-amd64.zip -d easysearch-1.6.1cd 到 easysearch-1.6.1 执行初始化脚本来生成证书并自动下载插件。 bin/initialize.sh脚本执行后会自动输出随机生成的 admin 用户密码。 启动 Easysearch bin/easysearch此时您的服务器已经准备就绪。您可以查看 logs/initialize.log 里显示的 curl 命令来进行验证。 curl -ku admin:xxxxxxxxx https://localhost:9200显示类似的输出响应 {name : MacBook-Pro.local,cluster_name : easysearch,cluster_uuid : 1gRYQ6ssTiKGqcyuEN0Dbg,version : {distribution : easysearch,number : 1.6.1,distributor : INFINI Labs,build_hash : 14846e460e9976ba6d68c80bb9eca52af1179dcf,build_date : 2023-10-19T14:43:02.636639Z,build_snapshot : false,lucene_version : 8.11.2,minimum_wire_lucene_version : 7.7.0,minimum_lucene_index_compatibility_version : 7.7.0},tagline : You Know, For Easy Search! }下面我们来看如何设置和使用客户端。 设置 Java 客户端 Easysearch 的 Java 客户端可在 中央仓库https://repo1.maven.org/maven2/ 上获得。将其作为依赖项添加到你的 Java 应用程序中。 对于 Gradle 构建系统在项目的 build.gradle 文件中包含以下依赖项 dependencies {implementation com.infinilabs:easysearch-client:1.0.1implementation org.apache.logging.log4j:log4j-api:2.19.0implementation org.apache.logging.log4j:log4j-core:2.19.0implementation org.apache.httpcomponents:httpclient:4.5.10implementation org.apache.httpcomponents:httpcore-nio:4.4.12implementation org.apache.httpcomponents:httpasyncclient:4.1.4implementation joda-time:joda-time:2.10.4implementation (org.apache.lucene:lucene-core:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-analyzers-common:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-backward-codecs:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-grouping:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-highlighter:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-join:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-memory:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-misc:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-queries:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-queryparser:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-sandbox:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-spatial3d:8.11.2) {exclude group: *, module: *}implementation (org.apache.lucene:lucene-suggest:8.11.2) {exclude group: *, module: *}...... }对于 Maven 构建系统在项目的 pom.xml 文件中包含以下依赖项 dependenciesdependencygroupIdcom.infinilabs/groupIdartifactIdeasysearch-client/artifactIdversion1.0.1/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.5.10/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpcore-nio/artifactIdversion4.4.12/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpasyncclient/artifactIdversion4.1.4/version/dependencydependencygroupIdjoda-time/groupIdartifactIdjoda-time/artifactIdversion2.10.4/version/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-core/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-analyzers-common/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-backward-codecs/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-grouping/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-highlighter/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-join/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-memory/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-misc/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-queries/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-queryparser/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-sandbox/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-spatial3d/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependencydependencygroupIdorg.apache.lucene/groupIdartifactIdlucene-suggest/artifactIdversion8.11.2/versionscopecompile/scopeexclusionsexclusionartifactId*/artifactIdgroupId*/groupId/exclusion/exclusions/dependency /dependencies接下来在你的 Java 应用程序中创建一个 client 实例并使用它在 Easysearch 中创建索引并插入一些数据。但在此之前为了使其工作你需要将签署服务器证书的根机构证书添加到你的应用程序信任库中。让我们看看如何配置 Java 应用程序的信任库。 为了使用 java client你需要将根 CA 证书 ca.crt 添加到应用程序信任库中。这告诉你的 Java 应用程序信任由此根机构签署的任何证书。easysearch-1.6.1/config/ 目录下已经生成了 ca.crt 文件。你可以将其添加到自定义信任库中并在 Java 应用程序中使用该自定义信任库。 使用 Java keytool 创建一个自定义信任库并导入证书。keytool 不理解 .pem 格式所以你需要首先使用 openssl 加密库将证书转换为 .der 格式然后使用 Java keytool 将其添加到自定义信任库中。假设您的操作系统已经预装了 openssl。 第 1 步将 CA 证书从 .pem 格式转换为 .der 格式。 openssl x509 -in easysearch-1.6.1/config/ca.crt -inform pem -out ca.der --outform der第 2 步创建自定义信任库并添加 ca.der 证书。 将 ca 证书添加到应用程序信任库中表示应用程序信任由此 CA 签署的任何证书。 keytool -import -file ca.der -alias easysearch -keystore myTrustStore过程中会提示您输入密钥库口令: 我为了测试用输入的 123456。 通过列出信任库中的证书来确认操作成功这里的 123456 是我上面设置的密码会显示出 easysearch 证书。 keytool -keystore myTrustStore -storepass 123456 -list第 3 步在 Java 应用程序代码中设置指向自定义信任库的系统属性并连接集群创建索引插入数据。 可以通过设置系统属性以指定 SSL/TLS 通信时使用的信任库 System.setProperty(javax.net.ssl.trustStore, /full/path/to/myTrustStore); System.setProperty(javax.net.ssl.trustStorePassword, 123456);HttpHost[] httpHostArray new HttpHost[1]; // infini.cloud 和 CNinfini.cloud 保持一致 httpHostArray[0] new HttpHost(infini.cloud, 9200, https); final CredentialsProvider credentialsProvider new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(admin, 1933791fb2b9f6c6146d));RestHighLevelClient client new RestHighLevelClient(RestClient.builder(httpHostArray).setHttpClientConfigCallback((HttpAsyncClientBuilder httpAsyncClientBuilder) - {httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);return httpAsyncClientBuilder;}));CreateIndexRequest createIndexRequest new CreateIndexRequest(test-index); createIndexRequest.settings(Settings.builder().put(index.number_of_shards, 1).put(index.number_of_replicas, 1) );//Create index client.indices().create(createIndexRequest, RequestOptions.DEFAULT);// Bulk BulkRequest bulkRequest new BulkRequest(); for (int i 0; i 10; i) {IndexRequest indexRequest new IndexRequest(test-index).id(Integer.toString(i)).source({\field1\:\value i \}, XContentType.JSON);bulkRequest.add(indexRequest); }BulkResponse bulkResponse client.bulk(bulkRequest, RequestOptions.DEFAULT); System.out.println(Strings.toString(bulkResponse));信任已签署 Easysearch 正在使用的证书的 CA 的示例当 CA 证书以 PEM 编码文件的形式可用时 Path caCertificatePath Paths.get(/easysearch-test/easysearch-1.6.1/config/ca.crt); CertificateFactory factory CertificateFactory.getInstance(X.509); Certificate trustedCa; try (InputStream is Files.newInputStream(caCertificatePath)) {trustedCa factory.generateCertificate(is); } KeyStore trustStore KeyStore.getInstance(pkcs12); trustStore.load(null, null); trustStore.setCertificateEntry(ca, trustedCa); SSLContextBuilder sslContextBuilder SSLContexts.custom().loadTrustMaterial(trustStore, null); final SSLContext sslContext sslContextBuilder.build();HttpHost[] httpHostArray new HttpHost[1]; httpHostArray[0] new HttpHost(infini.cloud, 9200, https); final CredentialsProvider credentialsProvider new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(admin, 1933791fb2b9f6c6146d));RestHighLevelClient client new RestHighLevelClient(RestClient.builder(httpHostArray).setHttpClientConfigCallback((HttpAsyncClientBuilder httpAsyncClientBuilder) - {httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);httpAsyncClientBuilder.setSSLContext(sslContext);return httpAsyncClientBuilder;}));现在您已经成功设置了 Java 客户端并以安全的 HTTPS 通道连接到了 Easysearch 集群。除此之外Java 客户端还具备强大的权限控制管理 API具体请参考我们的官网文档https://www.infinilabs.com/docs/latest/easysearch/references/client/security/ 关于 Easysearch INFINI Easysearch 是一个分布式的近实时搜索与分析引擎核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。 官网文档https://www.infinilabs.com/docs/latest/easysearch 下载地址https://www.infinilabs.com/download
http://www.pierceye.com/news/855968/

相关文章:

  • 产品宣传网站模板完整个人网站html
  • 多用户商城网站开发seo搜索是什么
  • 永川网站制作网页设计中好的网站
  • 淮南本地网从化网站建设优化
  • 必要是什么网站山东网站seo
  • 汕头网站快速优化排名wordpress安装流程图
  • 郑州视频网站建设大概多少钱赶集网2022年最新招聘
  • 购物网站怎么做优化wordpress 暖岛 主题
  • 帝国cms如何做电影网站广告设计要学哪些软件
  • 企业做网站的意义网站建设的知识
  • 重庆荣昌网站建设价格内网网站建设流程
  • 专业网站建设哪家好网站开发英语英语
  • 亿恩 网站备案做养生网站需要什么资质
  • 镇江网站建设案例洛阳网站建站
  • 网站建设如何把代码沈阳网站制作
  • 微网站自己怎么做的模版网站和语言网站
  • 做平台是做网站和微信小程序的好别京津冀协同发展国家战略
  • 北京怎样做企业网站电脑网页开发
  • 企业网站建设运营方案Wordpress hover插件
  • 做暧暖ox免费网站微信开店小程序怎么弄
  • 网站建站网站网站维护动画设计属于什么大类
  • 深圳宝安上市公司网站建设报价制作网站去哪家好
  • 沈阳做网站客户多吗网站地图抓取
  • 做网站比较专业的公司微信商城在哪里找
  • 网站建设开发的流程网站标题title怎么写
  • 网络营销的优势海宁网站怎么做seo
  • wordpress 英文主题南宁网站排名优化公司
  • 行业网站建设方案有专门做电商网站的CMS吗
  • 网站备案 快递公司变更流程
  • 简单的做图网站wordpress加密授权