当前位置: 首页 > 网络应用技术

Enterprise:Elasticsearch API在Elastic Stack 8.2中用于在应用程序搜索中找到文档

时间:2023-03-05 21:10:36 网络应用技术

  在我上一篇文章“ Enterprise:Elastic App Search -Ruby”中,我详细描述了如何使用Enterprise App Search创建一个良好的应用程序搜索。使用Elastic 8.2,您可以轻松地使用相关和分析工具来搜索与与之相关的相关性时间 - 在中国的储蓄时间与现有的Elasticsearch索引无迁移或更新数据结构。确保数据收集管道的所有方面都准备好到数据生命周期管理策略,并使用企业搜索中的预集工具快速将新的搜索体验推向市场。这意味着要实现更快的部署,更直接的关联管理以及对应用程序,网站和企业中最终用户搜索行为的更好理解。

  在本文的显示中,我将使用Elastic Stack 8.2显示。

  我们可以参考我以前的文章“如何在Linux,MacOS和Windows上安装Elasticsearch”,以安装Elasticsearch。尤其需要安装plasticseach 8.2版本。

  在Elasticsearch终端输出中,查找弹性用户的密码和Kibana的注册令牌。首次启动Elasticsearch时,对这些密码进行了打印。

  在单独的终端中,查找由Elasticsearch创建的文件http_ca.crt的绝对路径名。

  例如,在我的macOS上安装:

  保存密码,注册令牌和证书路径名。您将在后续步骤中需要它们。如果您对这些操作不太熟悉,请参阅我以前的文章“ Elastic Stack 8.0安装 - 弹性堆栈的保护要比更简单以前。”

  我们将安装Kibana Next。我们可以参考我以前的文章“如何在Linux,MacOS和Windows中安装Kibana”。尤其需要安装Kibana 8.2版本。如果您不知道如何安装Kibana8.2,然后请阅读我以前的文章“ Elastic Stack 8.0安装 - 保护您的弹性堆栈比以往任何时候都更简单。:

  config/kibana.yml

  然后,我们使用以下命令启动Kibana:

  我们在浏览器中输入上面的地址输出,然后输入相应的注册令牌以启动Kibana。

  您需要在Java 8或Java 11中安装Java.version。我们可以参考链接以查找所需的Java版本。

  我们在地址中https://www.laastic.co/downloads/app-搜索并找到我们需要下载的版本。并按照相应的说明。如果您想为以前的版本安装它,请参见地址https https https https://www.lastic.co/downloads/past-reases#app-search。

  当我们下载企业搜索安装程序包时,我们可以使用以下命令进行解压缩:

  如上所示,它包含一个名为Config的目录。我们必须在启动Enterprise search之前进行一些相应的配置。我们需要修改config/enterprise-search.yml file.add在此文件中的以下内容:

  config/enterprise-search.yml

  在顶部,请注意,elasticsearch.password是我们的安装过程在elasticsearch.elasticsearch.ssl.certified_authority中生成的密码necret_management.encryption_keys.我们可以使用上述配置首先运行,然后让系统帮助我们生产。

  如上所示,当我们的配置未配置secret_management.encryption_keys时,第一个启动将帮助我们生成键。我们将键复制到config/enterprise-search.yml文件。最终配置文件如下:

  config/enterprise-search.yml

  这样,我们将完成配置。我们再次运行企业搜索:

  在启动过程中,我们可以看到生成的用户名和密码信息:

  我们写下此用户名和密码。在启动过程中,我们还可以看到生成的secret_session_key:

  我们还将其复制并将其添加到配置文件中:

  config/enterprise-search.yml

  为了使我们能够在应用程序搜索中使用elasticsearch,我们必须设置

  feature_flag.lasticsearch_search_api:true。我们再次重新启动企业搜索:

  开始之后,我们将永远不会看到任何配置输出。

  我们可以直接通过链接http:// localhost:5601/app/enterprise_search/概述,并使用弹性超级用户登录:

  这样,我们直接在Kibana中输入弹性应用程序搜索的界面。

  另一种方法是通过以下导航输入:

  在今天的显示器中,我不会从应用程序搜索创建引擎。我将从另一个角度创建引擎。在弹性堆栈8.2中,我们可以从现有的Elasticsearch index创建引擎。这对于许多应用程序方案非常有用,因为在许多情况下,,已经创建了索引。如果您想使用其他方法来创建引擎和摄入数据,请参阅我的文章“ Elastic:Developer's Bit Guide”中的“企业搜索”章节。

  我们仍然使用我上一篇文章“ Enterprise:创建元引擎来扩展您的应用搜索体验”的示例。

  上面的存储库中有两个JSON文件:Eastern-National-Parks.json和Western-National-Parks.json。其中一个文档的内容如下:

  这两个文件显示了有关美国东部和西部国家公园的一些信息。

  我们从Kibana中的搜索开始创建一个索引。请注意,此搜索也需要。我们使用以下命令创建索引:

  让我们使用以下命令编写3个文档:

  这样,我们的搜索鸟包含3个文档:

  现在,我们成功创建了从搜索开始的索引的三个文档。

  我们将采用现有的Elasticsearch索引来创建应用程序搜索引擎:

  从以上,我们可以看到从搜索开始的索引将出现在选择列表中。选择搜索公园:

  从以上,我们可以看到三个文档已成功地进入应用程序搜索引擎。我们可以按照“企业:弹性应用程序搜索-ruby”的步骤来对我们的引擎进行搜索自定义,例如调整相关性,例如调整相关性,设置同义词和策划。在这里,我不累。

  接下来,我们首先使用应用程序搜索API执行Elasticsearch Search。我们知道,在Kibana中,我们可以输入以下搜索:

  它将在搜索鸟类中显示所有文档。我们的情况是3个文档。

  我们可以使用引擎API实现相同的搜索吗?我们参考博客文章“ Elasticsearch Search API:找到应用程序搜索文档的新方法”。我们创建以下命令:

  请注意:在上面,我们在授权中使用了一个私钥。我们可以获得以下方法:

  上面命令返回的结果是:

  以上结果表明,尽管有点混乱,但我们仍然可以看到三个结果。这与kibana中返回的结果完全相同。为了显示整洁,我们可以使用以下命令:

  我们还可以通过Postman实施相应的REST请求:

  我们知道应用程序搜索具有搜索的强大自定义功能。我们可以在应用程序搜索中进行同义词,相关性和调整。那么,如何在Elasticsearch中实现相同的搜索效果?

  首先,让我们进行普通应用搜索,例如,我们使用以下API:

  显示对相应的Elasticsearch的搜索:

  在顶部,我们使用search_explain api在应用程序搜索中显示字符串搜索请求主体,以搜索相应的Elasticsearch搜索请求主体:

  我们可以在Kibana进行以下搜索:

  上面显示的结果是:

  上述Elasticsearch的搜索结果与以下搜索结果相同:

  仅正确搜索了一个文档。通过Elasticsearch进行了搜索,该搜索在应用程序搜索中反复使用配置(相关,同义词和策划)。

  参考:

  [1] Elasticsearch搜索API:一种定位应用程序的新方法

  【2】API参考|弹性应用搜索文档[8.2] |松紧带