【问题标题】:Axios.all: How do I use a thesaurus API to allow my search bar to include synonyms of the input word in its search results?Axios.all:如何使用同义词库 API 让我的搜索栏在其搜索结果中包含输入词的同义词?
【发布时间】:2018-07-05 11:16:53
【问题描述】:

我有一个工作列表网站的搜索栏,我试图让该网站能够提取相关字词(例如:如果有人搜索“网络开发”但工作被列在“软件工程”下,它仍然会被退回)。

我正在使用 axios 同时从我的数据库中获取工作信息,并从第 3 方 API 获取输入单词的同义词。我想让它检查同义词,然后返回与输入单词的所有同义词匹配的工作列表。

截至目前,我有一些方法可以根据用户选择按公司或职位搜索,将从数据库返回的信息设置为 answer1 或 answer2 状态。我的第一直觉是将来自同义词 API 的信息设置为状态对象上的“answer3”,但我无法弄清楚我需要在方法中的哪个位置告诉它返回与输入的所有同义词匹配的作业。这是我目前所拥有的:

 getProjResults = (e) => {
    e.preventDefault();
    console.log('--------hit4')
    axios.all([
        axios.get(`/api/projects?search=${this.state.term}`),
        axios.get(`/words?ml=${this.state.term}`)
    ]).then(axios.spread(function(dbResponse, wApiResponse) {
        console.log("DB Info", dbResponse.data);
        console.log("Words API Info", wApiResponse.data)
        this.setState({
            answer1: '',
            answer2: dbResponse.data,
            answer3: wApiResponse.data
        })
    })
}

answer1 用于用户是否按公司搜索,并设置在不同的功能中。 getProjResults 函数在搜索按钮上的 onClick 处理程序中调用。我是否需要创建一个新函数来告诉它也按同义词搜索,或者我可以在这个函数中这样做吗?

【问题讨论】:

    标签: javascript node.js reactjs axios


    【解决方案1】:

    似乎您应该在后端执行此操作,因此您只需要对您的 api 进行一次调用。

    您需要先从单词 api 中获取同义词,然后获取所有单词的列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2018-12-14
      • 2016-12-29
      • 1970-01-01
      • 2022-11-25
      • 1970-01-01
      相关资源
      最近更新 更多