我是弹性搜索的初学者,从上周开始我正在研究 POC。我的文档中有一个 URL 字段,其中包含以下格式的 URL:“ http://www.example.com/foo/navestelre-04-cop ”。
我无法定义到我的整个对象的映射,因为每个对象都有不同的键,除了 URL。
这是我创建索引的方式:
POST
{
"settings" : {
"number_of_shards" : 5,
"mappings" : {
"properties" : {
"url" : { "type" : "string","index":"not_analyzed" }
}
}
}
}
我将我的 URL 字段保持为 not_analyzed,因为我从一些资源中了解到将字段标记为 not_analyzed 会阻止它进行标记化,因此我可以在术语查询中查找该字段的完全匹配。
我还尝试使用空白分析器作为 URL 值,因此没有任何空白字符。但是我再次无法成功命中。
以下是我的术语查询:
{
"query":{
"constant_score": {
"filter": {
"term": {
"url":"http://www.example.com/foo/navestelre-04-cop"
}
}
}
}
}
我猜问题出在分析器和标记器的某个地方,但我无法找到解决方案。任何形式的帮助都会极大地增强我的知识并帮助我找到解决方案。提前致谢。