我有一个句子数组的字段(字符串)。如果单词在句子中,我想在数组中搜索。
"fields": {
"title": [
"The book of the world"
]
}
简单查询"书"不会返回预期的结果:
GET catalog/_search
{
"fields" : "title",
"query":{
"match" : {
"title":"book"
}
}
}
你有什么想法吗?
答案 0 :(得分:1)
在将数据添加到索引之前,必须先配置分析器。
分析仪是"分裂"你的句子作为标记(这里:"""书"""""""世界"或者删除停止言语"预订""世界")。
请阅读https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html
上的文档还要注意Elasticsearch如何处理数组:https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html
答案 1 :(得分:1)
在这种情况下,字段名称是fields.title而不是标题。
尝试:
GET catalog/_search
{
"fields" : "fields.title",
"query":{
"match" : {
"fields.title":"book"
}
}
}