elasticsearch-搜索建议(八)
Completion Suggester
智能提示
{ "settings": { }, "mappings": { "doc": { "properties": { "productName": { "type" : "text", "analyzer":"ik_max_word" }, "productNameSuggester":{ "type" : "completion",//智能提示字段 "search_analyzer":"ik_max_word",//搜索使用分词默认跟索引一直 "analyzer":"ik_max_word",//索引分词 "max_input_length":50,//提示字段长度 如果为2 雪花啤酒 输入雪 提示雪花 输入雪花 也提示雪花 "preserve_separators":true,//默认值 如果希望Foo Fighters 输入foof能提示的话则改为false "preserve_position_increments":true //启用停用分词器 } } } } }
插入数据
{ "productName":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提", "productNameSuggester":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提" }
{ "productName":"雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版", "productNameSuggester":"雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版" }
post请求:http://127.0.0.1:9200/custom/doc/_search
{ "_source":false,// ["productNameSuggester","productName"] 不返回_source "suggest": { "my-suggest-1": { "text": "雪",//用户输入文本 "completion": { "field": "productNameSuggester",//字段 "size": 2,//显示条数 "skip_duplicates": true//建议去重 } } } }
返回结果
{ "took": 1, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": 0, "max_score": 0, "hits": [] }, "suggest": { "my-suggest-1": [ { "text": "雪", "offset": 0, "length": 1, "options": [ { "text": "雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版", "_index": "custom", "_type": "doc", "_id": "1", "_score": 1 }, { "text": "雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提", "_index": "custom", "_type": "doc", "_id": "2", "_score": 1 } ] } ] } }
设置权重
input为保存的值 weight为权重(_score)如果是数组使用[{"input":""},{"input":""}]
{ "productName":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提", "productNameSuggester":{"input":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提","weight" : 34} }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!