《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.18.Enterprise Search —— 3.5.18.3.App Search(上) https://developer.aliyun.com/article/1226730
使用
1、创建 Engine
点击首页 Create an Engine 输入 Engines name 选择语言进行创建,每个 Engine 最终都会在 Elasticsearch 中有对应的一个 index。
2、导入数据
数据导入方式有以下四种:
l Paste JSON:直接粘贴 JSON 内容
l Upload a JSON file:上传 json 文件,将文件内容写入
l Use the web crawler:使用爬虫器进行爬取
l Index by API:使用 REST API 写入数据
我们根据场景选择不同的数据导入方式,以下以 REST API 举例,如果不指定 id,会自动生成:
curl -X POST 'http://localhost:3002/api/as/v1/engines/kyle-test-engine/documents' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer private-q849axzc6sv37qf83oxbn32r' \ -d '[ { "id": "park_rocky-mountain", "title": "Rocky Mountain", "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra. Wildlife including mule deer, bighorn sheep, black bears, and cougars inhabit its igneous mountains and glacial valleys. Longs Peak, a classic Colorado fourteener, and the scenic Bear Lake are popular destinations, as well as the historic Trail Ridge Road, which reaches an elevation of more than 12,000 feet (3,700 m).", "nps_link": "https://www.nps.gov/romo/index.htm", "states": [ "Colorado" ], "visitors": 4517585, "world_heritage_site": false, "location": "40.4,-105.58", "acres": 265795.2, "square_km": 1075.6, "date_established": "1915-01-26T06:00:00Z" }, { "id": "park_saguaro", "title": "Saguaro", "description": "Split into the separate Rincon Mountain and Tucson Mountain districts, this park is evidence that the dry Sonoran Desert is still home to a great variety of life spanning six biotic communities. Beyond the namesake giant saguaro cacti, there are barrel cacti, chollas, and prickly pears, as well as lesser long-nosed bats, spotted owls, and javelinas.", "nps_link": "https://www.nps.gov/sagu/index.htm", "states": [ "Arizona" ], "visitors": 820426, "world_heritage_site": false, "location": "32.25,-110.5", "acres": 91715.72, "square_km": 371.2, "date_established": "1994-10-14T05:00:00Z" } ]' # [ # { # "id": "park_rocky-mountain", # "errors": [] # }, # { # "id": "park_saguaro", # "errors": [] # } # ]
3、点击 Documents 开始搜索,可以通过 Customize 设置过滤字段和排序字段。
4、Reference UI 快速创建搜索界面
设置过滤、排序等字段。
搜索页面,可以点击 Download ZIP Package 下载代码解压,然后执行 npm install, npm start 就可以有单独搜索的页面。
5、可以通过 UI Schema 调整字段的类型,默认 text,目前仅支持 text、number、date、
geolocation 四种类型。
6、通过 Overview 和 Analytics 可以查看到所有 API 的使用情况,方便定义问题及优化,可以实时调整我们的搜索结果,比如设置同义词( Synonyms)、调整字段权重( Relevance Tuning)、让一些结果不可见,同时也可以让一些结果永远排名处于前面的位置 (Curations)、设置显示的字段 (Result Settings)。
从下图可以看到我们搜索 garden 是没有结果的,如果我们想要在搜索 garden 的时候,park相关的结果也能显示,那么我们就可以设置 Synonyms 。
7、设置同义词
可以看到当我们搜索 garden 的时候就会出来结果。
8、Curations 结果设置
Curations 允许手动提升或隐藏特定查询的文档,可用于增加每次点击的搜索比率或执行推广特定内容的活动。
9、相关性得分设置
设置字段是否可搜索,以及字段的权重等来提升文档的得分。
10、结果设置
设置需要显示的字段,以及字段最大字符设置等。
创作人简介:
赵凯,平时喜欢阅读 elastic 官网,对 Elasticsearch 较为熟悉。学习一门技术,官网永远是最好的学习文档。在西安,我们也建立了自己的圈子,欢迎西安的小伙伴们一起交流,共同进步。