Задать вопрос
NN-webmaster
@NN-webmaster
Обожаю веб

Существует ли Autocomplete на JS с поддержкой синонимов, опечаток, вариантов?

Задача: нужно реализовать живой поиск по массиву объектов, у которых могут быть разные вариации названий. На русском, на английском, жаргонные названия, синонимы. Массив в скрипте будет сформирован заранее. В идеале, хотелось бы, чтобы в скрипте поиска можно было задать массив с синонимами, по которым он будет проходиться и выдавать результат в виде объекта.

Вот, покажу на абстрактном примере.
var countries = [
{
  title: "Россия",
  synonyms: ["РФ", "Russia", "Российская Федерация", "Рашн", "Роисся"]
},
{
  title: "Германия",
  synonyms: ["Germany", "Deutschland", "ФРГ", "ГДР", "Дойчланд"]
}
];


И когда пользователь начинает вводить что-нибудь, то скрипт бы сначала проходил по полям title, а затем по массиву synonyms и если находил совпадение среди синонимов, то выводил бы title этого объекта в выпадающем списке.

Существуют ли плагины на jQuery или чистом JS, которые реализуют такой поиск?

Структуру данных, кстати, могу сформировать по другому, даже подстроиться под функционал плагина, лишь бы там была такая возможность.

Я достаточно долго искал, но, видимо, делал что-то не так, поскольку почти ничего не нашёл. Сунулся было в теорию о том, как это можно сделать самому, но быстро понял, что не с моими знаниями. Все эти расстояния Левенштейна и прочее...

P.S. Единственный вариант, который, возможно, подходит под эти критерии, который я нашёл, это — MissPlete сейчас разбираюсь с ним.
  • Вопрос задан
  • 931 просмотр
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@alokazay
javascript
Jq autocomplete... не вижу нечего сверхественного...
1. Получаем искомую строку.
2. Фильтруем fесли найден в титле показываем иначе сравниваем в синонимах..

Другое дело б у вас не было синонимов....
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы