Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于elasticsearch的标签层次搜索_Search_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Search,elasticsearch" /> elasticsearch,Search,elasticsearch" />

基于elasticsearch的标签层次搜索

基于elasticsearch的标签层次搜索,search,elasticsearch,Search,elasticsearch,我有一个带标签照片的数据库,另外还有标签的层次结构。我想使用elasticsearch丰富我的搜索,以便 照片 标签:[“梅赛德斯-奔驰”、“汽车运动”、“红色”] 搜索汽车或颜色时应匹配 如果我使用基于同义词的分析器: 梅赛德斯-奔驰=>美塞德-奔驰、汽车、交通 梅赛德斯-奔驰正在被转换成梅赛德斯-奔驰,汽车和运输在索引过程中,此部分是正确的 当我搜索梅赛德斯-奔驰时,它也会带来所有汽车和运输结果,因为字段的分析方式与索引期间相同 对于这种层次搜索,我应该使用什么样的分析器,可能是路径层次

我有一个带标签照片的数据库,另外还有标签的层次结构。我想使用elasticsearch丰富我的搜索,以便

照片

标签:[“梅赛德斯-奔驰”、“汽车运动”、“红色”]

搜索
汽车
颜色
时应匹配

如果我使用基于同义词的分析器:

梅赛德斯-奔驰=>美塞德-奔驰、汽车、交通

梅赛德斯-奔驰
正在被转换成
梅赛德斯-奔驰
汽车
运输
在索引过程中,此部分是正确的

当我搜索
梅赛德斯-奔驰
时,它也会带来所有
汽车
运输
结果,因为字段的分析方式与索引期间相同


对于这种层次搜索,我应该使用什么样的分析器,可能是路径层次?

您应该只在索引时使用该分析器,而不是在搜索时使用该分析器。在映射中,您应该为
标记
字段指定
“search\u analyzer”:“standard”
,以便“Mercedes-Benz”不会经历相同的同义词匹配过程。非常感谢,我不知道这种可能性。