我正在使用elasticsearch 7,并且我试图以这种方式建立一个搜索请求:
{
"query": {
"prefix": {
"document": {
"value": "/home/myfolder"
}
}
}
}为了查找所有以/home/myfolder开头的文件夹("document“元素以路径"/home/myfolder/file.txt”的形式存储。我尝试了许多方法,但我没有找到任何方法来正确地转义"/“字符。在其他链接中,人们建议使用"\/home/myfolder“或"/home/myfolder”,但不起作用。
非常感谢您的帮助
发布于 2019-09-30 05:58:55
由于您正在尝试与/匹配,因此请使用.keyword,如下所示。
{
"query": {
"prefix": {
"document.keyword": {
"value": "/home/myfolder"
}
}
}
}这是因为当您不使用关键字时,您正在尝试与分析的字段进行匹配,并且在默认情况下,它会删除/。
试着运行它,看看它是如何在每个斜杠(/)处换行来创建倒排索引的。
POST /_analyze
{
"text" :"/home/myfolder/document.txt"
}https://stackoverflow.com/questions/58158903
复制相似问题