Я использую Лунр. js.
Этот Javascript код ниже
- получает параметры запроса из первого поиска
- заменяет символы привязки + пробелами
- сохраняет модифицированный запрос в поле поиска для следующего поиска
- Затем он наконец выполняет поиск с использованием модифицированного запроса
var query = getUrlParameter('q');
var queryWithoutPlus = query.replace(/\+/g, " ");
searchField.value = queryWithoutPlus
index.search(queryWithoutPlus);
Итак, строка параметра запроса может выглядеть как test+ABCD+Test++Test2+-Test+-Test+Test
, а Код заменяет символы + в параметре запроса q
пробелами, чтобы показать результат пользователю приятным образом, но строку поиска, такую как
"test + test -test"
в настоящее время приводит к
"test test -test"
Я ожидаю
"test + test -test "
Я пытался изменить запрос несколько раз подряд, используя tempQuery, например
var tempQuery = query.replace(/\+\+/g, " -");
var queryWithoutPlus = tempQuery.replace(/\+\-/g, " -");
, но это не сработает с остальными символами + и не чувствую себя хорошо, поэтому мне нужна ваша помощь.
Это просто сводится к использованию правильного регулярного выражения (каким бы оно ни было, приветствуется совет) или есть даже лучший подход для использования параметров запроса с лунром. js?