这是因为您的
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现在相匹配。



