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

免费建站平台官网无极领域0基础12天精通网站建设

免费建站平台官网,无极领域0基础12天精通网站建设,点评类网站建设,现货黄金什么网站可以做直播目录 背景: Es 版本: 第一步 第二步 (错误步骤 - 只是记录过程) 第三步 第四步 第五步 第六步 第七步 背景: app 原有的搜索功能无法进行拼音搜索,产品希望可以支持,例如内容中含有&a…

 

目录

背景:

Es 版本:

第一步

第二步 (错误步骤 - 只是记录过程)

第三步

第四步

第五步

第六步

第七步


背景:

app 原有的搜索功能无法进行拼音搜索,产品希望可以支持,例如内容中含有:中国通史记,那不管搜 `通史` or `tongshi`,都可以搜到这个内容

Es 版本:

6.4.0

第一步

确定es目前是否支持pinyin的搜索能力,没有的话需要下载相关组件,下载这里不做介绍

可执行以下命令确定:

POST /_analyze
{"analyzer": "pinyin","text": "中国通史"
}

正常得到以下结果:

{"tokens": [{"token": "zhong","start_offset": 0,"end_offset": 0,"type": "word","position": 0},{"token": "zgts","start_offset": 0,"end_offset": 0,"type": "word","position": 0},{"token": "guo","start_offset": 0,"end_offset": 0,"type": "word","position": 1},{"token": "tong","start_offset": 0,"end_offset": 0,"type": "word","position": 2},{"token": "shi","start_offset": 0,"end_offset": 0,"type": "word","position": 3}]
}

第二步 (错误步骤 - 只是记录过程)

新增索引字段,例如:content_pinyin, analyzer为:pinyin

PUT /index/_mapping/_doc
{"properties": {"content_pinyin": {"type": "text","analyzer": "pinyin"}}
}

第三步

同步数据,将原content的文档数据同步给content_pinyin, 同步方式可参考 (生产环境要考虑数据量的问题,否则影响线上业务,数据过大建议使用脚本进行数据刷新):

POST /index/_update_by_query
{"script": {"source": "ctx._source.content_pinyin = ctx._source.content","lang": "painless"},"query": {"match_all": {}}
}

第四步

使用新字段进行搜索,结果如下:

搜索结果没有问题,但是会发现,高亮字段竟然是整个内容:

第五步

参考此文章:【精选】ElasticSearch7.6.2 拼音,中文,中音搜索,高亮搜索关键字_es 中文和拼音搜索-CSDN博客

找到了答案

需要修改索引设置,新增自定义分析器和过滤器来实现高亮

# 要先临时关闭索引
POST /index/_close# 修改索引设置
PUT /index/_settings
{"settings": {"analysis": {"analyzer": {"ik_pinyin_analyzer": {"tokenizer": "my_pinyin"}},"tokenizer": {"my_pinyin": {"type": "pinyin","keep_full_pinyin": true,"keep_original": false,"limit_first_letter_length": 10,"lowercase": true,"remove_duplicated_term": false,"ignore_pinyin_offset": false,"keep_first_letter": true,"keep_separate_first_letter": true}}}}
}# 打开索引
POST /bm_ebook/_open

这里如果在线上操作,可能会导致一段时间的服务不可用,顺利的话大概五秒左右,如果能接受可以直接执行,不行的话只能新建索引,然后刷一遍数据

第六步

新建字段 (因为es不允许修改已经生效的字段的分析器,所以我只能再新建一个字段)

PUT /index/_mapping/_doc
{"properties": {"ik_content_pinyin": {"type": "text","analyzer": "ik_pinyin_analyzer"}}
}

这里分析器使用刚刚新增的自定义分析器: ik_pinyin_analyzer

然后同第三步,同步一下数据内容

第七步

通过新字段来进行拼音搜索,结果如下:

http://www.yayakq.cn/news/248934/

相关文章:

  • 中英网站搭建报价表同时在线上万人的网站需要什么配置云服务器
  • 武昌做网站jw100想开个网站做外贸怎么做
  • 现在学做网站赚钱吗长春人才网招聘
  • 瑞昌市环保局网站建设世界工厂网免费平台
  • 网站空间租用有哪些服务维度网络网站建设
  • 建设银行德阳分行网站wordpress添加上一页下一页
  • 怎么修改网站的源代码晋江论坛怎么发图
  • 建立网站找什么公司seo编辑培训
  • 购物网站开发教程视频自建论坛
  • 信息平台 网站的建设百度ai搜索引擎
  • 网站建设公司公司我我提供一个平台如何网络推广运营
  • 如何建立一个网站并运行ui做的好看的论坛网站
  • 合肥++网站建设如何找外贸公司合作
  • 网站开发的目的意义国内优秀网站赏析
  • 怎么从网站知道谁做的公司建设网站的费用
  • 网站服务器备案查询网站备案政务服务网站的建设原则
  • 清风网站建设查询网站收录命令
  • 应用网站制作郑州微信小程序定制公司
  • 天津城乡住房建设厅网站首页装修包工头接活网站
  • 直播间网站开发wordpress 自动安装 插件怎么用
  • 建站之星怎么使用如何做视频类网站
  • 全屏网站模板制作北京的网页设计
  • 怎么在本地做网站竹子建站下载
  • 网站的栏目设计wordpress给文章添加子页面
  • 不上此网站枉做男人排名优化上首页怎么做
  • 如何规划网站栏目网站建设公众号开发
  • 网站接入支付宝在线交易怎么做单位网站建设的报告
  • 做理财的网站有哪些网站如何配置域名
  • 建设网站对服务器有什么要求论坛网站需要多大的空间
  • 网站备案 有什么用网站建设合同黑客攻击