带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(下)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(下)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.18.Enterprise Search —— 3.5.18.2.Site Search(中) https://developer.aliyun.com/article/1226776




三、搜索体验的高级配置

 

关于搜索框以及结果展示样式,官方还提供了其他方式,比如弹框展示,大家感兴趣可以自己试试。


爬取配置


1、通过爬取配置可以定义抓取内容范围,从而提高爬取效率。默认情况下,抓取工具会抓取我们配置的 URL 域下面所有的可用网页,所以如果我们想提高爬取分析速度就可以通过配置抓取规则缩小抓取范围。通过菜单“Domains”Advanced Settings 配置 sitemap 文件:

image.png


image.png



这里的 sitemap 是XML格式的文件,通过它让我们能从引擎级别和域级别深入控制爬虫。内容示例:

 

<urlset>
  <url>
    <loc>
      https://swiftype.com/documentation/site-search/
    </loc>
  </url>
  <url>
    <loc>
      https://swiftype.com/documentation/site-search/guides/search-optimization
    </loc>
  </url>
</urlset>


爬虫工具会去默认路径下解析 sitemap.xml(假设配置的 URL:https://example.com/,那么sitemap.xml 的路径是 https://example.com/sitemap.xml)。如果多个 sitemap 或者名字不是默认名,也可以通过 robots.txt 指定,如下例:

User-agent: Swiftbot
Sitemap: https://example.com/special_directory/sitemap.xml
Sitemap: https://example.com/different_sitemap_name.xml

2、配置完爬取范围后,我们来看看页面内容是如何编制为索引的。每个被爬取页面会根据一个默认的 schema 编入索引,默认存储在一个叫 page 的 DocumentType 索引里。

image.png


所以,我们在前面提到的 swiftype.com 网站中Content”菜单里的页面详情是与这个配置对应的:


image.png



同时 Site Search 提供了 API,可以自定义新增索引的 DocumentType 以及其 Field。

 

3、当我们网站内容发生更新后,搜索结果可以通过下面配置自动更新


image.png


自定义搜索结果配置

 

Site Search 还支持通过直观的界面自定义搜索结果(结果排名)、调整数据类型的权重、创建同义词组(同义词)等,从而提供更精准的搜索相关性。如下示例:

l 搜索结果排序,可以针对固定的搜索词制定结果的排序:

image.png

image.png


如上图我们可以拖拽定义搜索结果顺序,可以对结果进行固定、也支持从结果中删除某个内容。

l 按照数据字段的重要程度来增减权重:

 

比如:一个文档通常 title 比其他字段相关性可能更高一些


image.png

l 增加一些搜索同义词:


image.png

 

 例如,我为“线程”增加一个同义词“并发”:

image.png


添加完同义词后,我们来个人网站上看看效果:

image.png

从上面我们可看出来:当我们输入“并发”后,我们立马可以查看到所有的“线程”相关联的文档。


至此,我们可以看到通过简单的配置便可以为网站提供搜索功能,不需要自己去实现繁重的搜索功能、也不需要更改自己的项目结构,非常方便。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12月前
|
JavaScript 搜索推荐
带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(中)
带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(中)
|
12月前
|
搜索推荐 索引
带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(上)
带你读《Elastic Stack 实战手册》之63:—— 3.5.18.2.Site Search(上)
133 0
|
12月前
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(2)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(2)
|
12月前
|
项目管理 索引 微服务
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(20)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(20)
|
12月前
|
数据库
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(17)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(17)
|
12月前
|
缓存 数据库 索引
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(6)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(6)
|
12月前
|
API 索引
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(3)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(3)
|
12月前
|
定位技术
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(19)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(19)
|
12月前
|
缓存
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(9)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(9)
|
12月前
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(7)
带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(7)