Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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
Javascript 如何为以下场景配置elasticserach 7.3自动完成_Javascript_Node.js_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Autocomplete - Fatal编程技术网 elasticsearch,autocomplete,Javascript,Node.js,elasticsearch,Autocomplete" /> elasticsearch,autocomplete,Javascript,Node.js,elasticsearch,Autocomplete" />

Javascript 如何为以下场景配置elasticserach 7.3自动完成

Javascript 如何为以下场景配置elasticserach 7.3自动完成,javascript,node.js,elasticsearch,autocomplete,Javascript,Node.js,elasticsearch,Autocomplete,我需要elasticsearch 7.3文档中前缀自动完成建议的帮助,该文档具有多字段搜索和输出中的关联字段类型,以对建议的术语类型进行分类 尝试使用search_as_you_type字段类型并添加多个完成分析器,但迄今为止运气不佳。我想要一个非常容易实现的解决方案,消除重复并减少内存占用。类似于Redis排序集的东西。 这是我的el索引文档和预期的自动完成结果 { "id": "7cBLdyLTkPNTC8c1Ntq", "tech": { "body":

我需要elasticsearch 7.3文档中前缀自动完成建议的帮助,该文档具有多字段搜索和输出中的关联字段类型,以对建议的术语类型进行分类

尝试使用search_as_you_type字段类型并添加多个完成分析器,但迄今为止运气不佳。我想要一个非常容易实现的解决方案,消除重复并减少内存占用。类似于Redis排序集的东西。

这是我的el索引文档和预期的自动完成结果

{
    "id": "7cBLdyLTkPNTC8c1Ntq",
    "tech": {
        "body": "Nikon D600",
        "gear": "Nikon AF-S Nikkor 16-35mm f/4 ED VR"
    },
    "artist": {
        "name": " Hilton Paris"
    },
    "details": {
        "place": "Nepal",
        "text": "Mount Everest .Natures mirror",
        "tags": [
            "mountain",
            "rock",
            "nature",
            "wooden trail",
            "mirror",
            "past and furious"
        ],
        "score": 0.87
    },
    "createdDate": {
        "_seconds": 1566260863,
        "_nanoseconds": 12000000
    }
 }

 {
    "id": "8cBLdyLTkPNTC8c1Ntq",
    "tech": {
        "body": "Panasonic Lumix DC-S1R Mirrorless",
        "gear": "Panasonic Lumix S PRO 50mm"
    },
    "artist" : {
        "name": "Jhon Gabriel"
          },
    "details": {
        "place": "paris",
        "text": "mirror lake reflection",
        "tags": [
            "lake",
            "rock",
            "nature",
            "water"
        ],
        "score": 0.87
    },
    "createdDate": {
        "_seconds": 1566260863,
        "_nanoseconds": 12000000
    },
 }

搜索“pa”应给出以下输出

 output [ {
    "type" :"artist",
   "value" : "Paris Peace",

},
{
    "type" :"body",
    "value" : "Panasonic",

},
{
     "type" :"gear",
     "value" : " Panasonic Lumix S PRO 50mm"
},
{
    "type" :"place",
     "value" : "paris"
},
{
"type" : "tag",
"value" : "past and furious"
}

]
我需要的是

对于给定的输入前缀,例如“pa”,使用以下条件从elsticsearch数据存储中获取所有匹配项

输入满足以下字段之一的不区分大小写前缀
1.1“tech.body”-->令牌级别前缀匹配,仅输出令牌值
1.2“tech.gear”-->令牌级前缀匹配,输出该字段的完整字符串值。
例如,如果TECH.gear有一个前缀为“pa”的令牌,
输出应为该字段的完整值,如“Panasonic Lumix S PRO 50mm”
1.3“艺术家名称”-->令牌级前缀匹配
1.4“details.place”-->令牌级前缀匹配
1.5“details.tags”-->令牌级前缀匹配,输出字段的完整字符串值,例如pa-->“过去和愤怒”
1.6“details.text”-->令牌级前缀匹配


非常感谢您的帮助,因为这将成为即将发布的版本的拦路虎