【问题标题】:Reactivesearch Autosuggest with ascii-folding使用 ascii 折叠的 Reactivesearch 自动建议
【发布时间】:2019-12-02 20:35:48
【问题描述】:

我似乎无法自动建议使用 ascii 折叠(即将重音转换为其 ascii 等效项)

  <DataSearch
      componentId="mainSearch"
      dataField="_name"
      categoryField="title"
      className="search-bar"
      queryFormat="and"
      placeholder="Search for movies..."
      iconPosition="left"
      autosuggest={true}
      filterLabel="search"
  />

映射

"_name": {
                "type": "text",
                "fields": {
                    "keyword": {
                        "type": "keyword",
                        "ignore_above": 256
                    },
                    "ascii": {
                        "type": "text",
                        "analyzer": "autosuggest_analyzer"
                    },
                    "ascii2": {
                        "type": "text",
                        "analyzer": "ngram_analyzer"
                    }
                }
            },

【问题讨论】:

标签: elasticsearch reactivesearch


【解决方案1】:

感谢@David 报告此事。

您可以尝试将 ascii 字段添加到 dataField 属性。 dataField prop 可以接受 String 或 Array,所以你可以在那里指定多个字段,例如

<DataSearch
   dataField={["_name", "_name.ascii", ...othersIfAny]}
   ...
/>

【讨论】:

  • 谢谢,抱歉回复晚了。现在试试
  • 这似乎不起作用。我不确定为什么同时包含 _name 和 _name.ascii 应该做任何事情。我真的只需要在_name.ascii中搜索,所以我认为包含_name是多余的。需要明确的是,使用 _name.ascii,我在搜索时确实得到了正确的结果;但是,自动完成功能不起作用。任何有关自动建议功能如何工作的帮助或文档都会很棒(例如,在我添加 autosuggest_analyzer 和 ngram_analyzer 之前,自动建议工作 - 这让我感到困惑)\
  • @DavidKong 您是否尝试将_name. ascii2 添加到您的数据字段列表中?此外,如果您可以共享相同的代码和框,那就太好了。这将帮助我更好地理解问题。
猜你喜欢
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2010-10-29
相关资源
最近更新 更多