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

京东网站建设的策划书青岛seo搜索优化

京东网站建设的策划书,青岛seo搜索优化,怎么做恶搞网站,银川哪家网站建设专业安装IK分词器 要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin is used to do conversion between Chinese characte…

安装IK分词器

要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址:GitHub - medcl/elasticsearch-analysis-pinyin: This Pinyin Analysis plugin is used to do conversion between Chinese characters and Pinyin.

或者:

链接:https://pan.baidu.com/s/1IH6YEaa0ol039plev1wnag?pwd=dvl5 
提取码:dvl5

安装方式与IK分词器一样,分三步:

①解压,命名为py

②上传到虚拟机中,elasticsearch的plugin目录

③重启elasticsearch④测试

详细安装步骤可以参考IK分词器的安装过程:怎么安装IK分词器-CSDN博客

测试用法如下:

结果:

自定义分词器

默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。

elasticsearch中分词器(analyzer)的组成包含三部分:

  • character filters:在tokenizer之前对文本进行处理。例如删除字符、替换字符

  • tokenizer:将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart

  • tokenizer filter:将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等

文档分词时会依次由这三部分来处理文档:


PUT /test
{"settings": {"analysis": {"analyzer": { "my_analyzer": { "tokenizer": "ik_max_word","filter": "py"}},"filter": {"py": { "type": "pinyin","keep_full_pinyin": false,"keep_joined_full_pinyin": true,"keep_original": true,"limit_first_letter_length": 16,"remove_duplicated_term": true,"none_chinese_pinyin_tokenize": false}}}},"mappings": {"properties": {"name":{"type": "text","analyzer": "my_analyzer","search_analyzer": "ik_smart"},"id":{"type": "keyword"}}}
}DELETE /test#测试分词器:
POST /test/_doc/1
{"id": 1,"name": "狮子"
}
POST /test/_doc/2
{"id": 2,"name": "虱子"
}GET /test/_search
{"query": {"match": {"name": "掉入狮子笼咋办"}}
}

自动补全查询

elasticsearch提供了Completion Suggester查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。为了提高补全查询的效率,对于文档中字段的类型有一些约束:

  • 参与补全查询的字段必须是completion类型。

  • 字段的内容一般是用来补全的多个词条形成的数组。

比如,一个这样的索引库:


#创建一个索引库
PUT test2
{"mappings": {"properties": {"title":{"type": "completion"}}}
}
#添加3个数据
POST test2/_doc
{"title": ["Sony", "WH-1000XM3"]
}
POST test2/_doc
{"title": ["SK-II", "PITERA"]
}
POST test2/_doc
{"title": ["Nintendo", "switch"]
}#自动补全查询
POST /test2/_search
{"suggest": {"title_suggest": {"text": "s", "completion": {"field": "title", "skip_duplicates": true, "size": 10 }}}
}

自动补全查询的JavaAPI

而自动补全的结果也比较特殊,解析的代码如下:

 //自动补全public List<String> getSuggestions(String prefix) {try {//1.准备RequestSearchRequest request = new SearchRequest("hotel");//2.准备DSLrequest.source().suggest(new SuggestBuilder().addSuggestion("mySuggestion",SuggestBuilders.completionSuggestion("suggestion").prefix(prefix).skipDuplicates(true).size(10)));//3,发起请求SearchResponse response = client.search(request, RequestOptions.DEFAULT);//4,解析结果Suggest suggest = response.getSuggest();CompletionSuggestion completionSuggestion=suggest.getSuggestion("mySuggestion");//获取options并遍历List<String> result =new ArrayList<>();for (CompletionSuggestion.Entry.Option option : completionSuggestion.getOptions()) {//获取一个option中的text,也就是补全的词条String string = option.getText().string();result.add(string);}return result;} catch (IOException e) {throw new RuntimeException(e);}}

http://www.dtcms.com/wzjs/391803.html

相关文章:

  • 山西网站建设报价单首页优化排名
  • 企业网站搜索引擎优化方案厦门seo网站优化
  • 网站建设 sheji021网络广告投放
  • 下载的asp网站怎么打开搜狗seo排名软件
  • 云南网站建设公司排行无限制访问国外的浏览器
  • 腾讯微信山东区建站推广中心2024年新冠疫情最新消息今天
  • 上海做电子商务网站的公司小程序制作一个需要多少钱
  • 做计算机题的网站长尾关键词爱站
  • 单纯做seo能否提升网站流量南京网络优化培训
  • 广州网站推广怎么做公司网站推广
  • 电子商务网站建设 市场分析软文广告经典案例300大全
  • 真人做的免费视频网站想学销售去哪培训
  • 做网站的工作是什么百度官网推广平台
  • 通州网站建设互联网营销师证书含金量
  • dede独立手机网站模板外贸网站建设设计方案
  • 机票小代理做网站促销式软文案例
  • 一品威客网接单怎么样郑州百度网站快速优化
  • 手机制作网站软件少儿培训
  • 公司网站建设维护合同太原网站关键词排名
  • 公司网站在国外打开很慢使用cdn好还是国外租用服务器好班级优化大师下载安装最新版
  • 找个网站看看收录优美图片app
  • 常宁网站建设游戏代理加盟
  • 汕头网站建设小程序江门网站开发多少钱
  • 珠海企业网站18款禁用网站app直播
  • 做公司的网站大概多少钱建站推广
  • 企业培训机构网站源码百度推广平台登录网址
  • 南京做网站品牌搜索引擎大全入口
  • 找人做网站要密码吗口碑营销渠道
  • 网站点击量设计最近国家新闻
  • 中国网站的建设互联网平台公司有哪些