zoukankan      html  css  js  c++  java
  • 定制分化词,同义词

    定制分化词步骤:

    config目录下新增new_word.dic 加入凯悦,修改IKAnalyzer.cfg.xml,加入new_word.dic
    copy到其他两个节点
    重启es
    GET _analyze?pretty
    {
    "analyzer": "ik_max_word",
    "text":"xx"
    } G
    ET _analyze?pretty
    {
    "analyzer": "ik_smart",
    "text":"xx"

    (此处可以发现xx会被分析为一个单独的词汇)


    扩展:若需要不重启es动态更新则可将自定义辞典放到http服务器上,例如
    <entry key="ext_dict">http://yoursite.com/getCustomDict</entry>
    http 请求需要返回两个头部(header),一个是 Last-Modified,一个是 ETag,这两者都是字符串类型,只要有一个发生变化,该插件就会去抓取
    的分词进而更新词库。
    http 请求返回的内容格式是一行一个分词,换行符用
    即可。
    满足上面两点要求就可以实现热更新分词了,不需要重启 ES 实例。
    ik每隔一分钟去检测



    同义词:

    对于苹果 和 手机可以人为理解为一个东西:

    /opt/elasticsearch-7.6.1/config/analysis-ik 插件目录下创建同义词文本 synomyms.txt(苹果手机),重新建立索引结构表(原有的索引需要删除),进行重新导入数据索引同义词效果就生效了,完整语句下次补上,kibana不知道为什么隔了一天历史记录不见了

    重塑相关性

    相关性搜索

    让搜索引擎理解语义

    影响召回以及语义

    通过bool的should里面嵌套 词汇和id进行绑定达到id=2(酒店的东西或者包含住宿的条目都给返回)

     召回策略和排序策略一般不会同时使用。因为你召回指定了所有的酒店,在function中再去过滤排序酒店也就无意义了。一般是排序策略做法没结果就使用召回策略尽量提高召回的覆盖面,争取搜索到尽量多答案

  • 相关阅读:
    element:记一次重置表单引发提交数据为默认数据现象
    三种常用又简单的排序算法
    (07)GitHub从2021.08.13开始使用Token代替账号和密码
    does not implement methodSignatureForSelector:
    自用python库
    2048
    CCSP2021游记
    2021 CCPC 桂林站游记
    2021 ICPC 沈阳站游记
    2021SDU新生赛游记
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/12701751.html
Copyright © 2011-2022 走看看