当需要在数组类型的弹性场上进行搜索时,不会显示有关DataSearch的建议

时间:2018-08-01 10:37:15

标签: reactjs elasticsearch reactivesearch

我的弹性搜索将结果提供为弹性数组。这是映射的外观。

 "positions": {
            "properties": {
              "en": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "fr": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }

所以这给了我如下结果。

"companyinfo.positions.en": " Chain Corporate, Food Services, Service Manager, Restaurant Manager, Cybercafé Manager, Internet Café Manager, Assistant Bar Manager, Assistant Manager, Restaurant Assistant Manager, Banquet Manager, Bar Manager, Cafeteria Manager",

我将值用作DataSearch控件的 dataField 属性的“ companyinfo.positions.en”

当前,我不使用onSuggestion属性,而是希望DataSearch自动向我提供建议。但这并没有给我任何建议。但是控件给了我预期的搜索结果。

<DataSearch 
    componentId={id}
    dataField={'companyinfo.positions.en'}        
    placeholder={'Search Jobs'}                
    URLParams={true}
    autosuggest={true}        
    showClear={true}                
    />      

如果我为DataSearch控件提供任何其他文本字段作为dataField,那么我会得到建议,为什么它不适用于弹性数组字段。

请提出如何才能正确获得建议的建议。如果必须使用onSuggestion属性,如何提供标签的字段名称,而不能提供字段名称。

1 个答案:

答案 0 :(得分:1)

这是库中嵌套数组字段的问题,已在v2.8.2中修复。 Changelog