Elasticsearch查询:在句子数组中匹配单词
问题描述:
我有一个字段,它是一个句子(字符串)数组。如果单词在句子中,我想在数组内搜索。Elasticsearch查询:在句子数组中匹配单词
"fields": {
"title": [
"The book of the world"
]
}
的简单查询 “书” 不返回预期的结果:
GET catalog/_search
{
"fields" : "title",
"query":{
"match" : {
"title":"book"
}
}
}
你有一个想法?
答
在将数据添加到索引之前,您必须先配置分析器。
分析仪是将句子“拆分”为标记(此处为“”“世界”的“书”“或”移除停用词“书”“世界”)的事物。
请务必阅读正文https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html
文档还关注如何Elasticsearch涉及阵列:https://www.elastic.co/guide/en/elasticsearch/reference/current/array.html
+0
默认的分析器被一个不分割内容的分量重载 – OussamaM
答
在这种情况下,字段名是fields.title不是所有权。
尝试:
GET catalog/_search
{
"fields" : "fields.title",
"query":{
"match" : {
"fields.title":"book"
}
}
}
能告诉你的映射? GET目录/ _映射 – Miek
映射是:''tokenizer“:”standard“' – OussamaM