栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

elasticsearch查询字符串不按单词部分搜索

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

elasticsearch查询字符串不按单词部分搜索

这是因为您的

title
字段可能已由标准分析器(默认设置)进行了分析,并且标题
Cor InterfaceMonitoring
已被标记为三个标记
cor
interface
并且
monitoring

为了搜索单词的任何子串,您需要创建一个自定义分析器,该分析器利用ngram令牌过滤器来索引每个令牌的所有子串。

您可以这样创建索引:

curl -XPUT localhost:9200/process_test_3 -d '{  "settings": {    "analysis": {      "analyzer": {        "substring_analyzer": {          "tokenizer": "standard",          "filter": ["lowercase", "substring"]        }      },      "filter": {        "substring": {          "type": "nGram",          "min_gram": 2,          "max_gram": 15        }      }    }  },  "mappings": {    "14": {      "properties": {        "title": {          "type": "string",          "analyzer": "substring_analyzer"        }      }    }  }}'

然后,您可以重新索引数据。这将使标题

Cor Interface Monitoring
现在标记为:

  • co
    cor
    or
  • in
    int
    inte
    inter
    interf
    ,等
  • mo
    mon
    moni
    ,等

让你的第二个搜索查询现在将返回你所期望,因为令牌的文件

cor
inter
现在相匹配。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号