У меня есть панель поиска для сайта со списком вакансий, который я пытаюсь дать возможность найти похожие слова (пример: если кто-то искал «веб-разработка», но работа была указана в разделе «разработка программного обеспечения», она все равно быть возвращенным).
Я использую axios для одновременного получения информации о работе из моей базы данных и получения синонимов введенного слова из стороннего 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 на кнопке поиска. Нужно ли мне создавать новую функцию, чтобы она также осуществляла поиск по синонимам, или я могу сделать это в этой функции?