Skip to content

Добавлен функционал для поиска#6

Merged
audetv merged 1 commit intomainfrom
develop
Mar 28, 2025
Merged

Добавлен функционал для поиска#6
audetv merged 1 commit intomainfrom
develop

Conversation

@audetv
Copy link
Copy Markdown
Contributor

@audetv audetv commented Mar 28, 2025

terratensor/glove-pipeline#2 (comment)

Реализованный функционал:

  1. Клик по слову:
  • При клике на любое слово в результатах поиска оно автоматически подставляется в поле ввода
  • Сразу выполняется новый поиск по этому слову
  1. Кнопки + и -:
  • Каждый результат теперь имеет две кнопки (+ и -) справа от коэффициента
  • При нажатии на "+" текущий запрос дополняется оператором "+" и выбранным словом
  • При нажатии на "-" текущий запрос дополняется оператором "-" и выбранным словом
  • Учитывается, если в конце запроса уже есть оператор
  1. Примеры работы:
  • Было: "царь" → Нажали "-" рядом с "мужчина" → Стало: "царь - мужчина"
  • Было: "царь - мужчина" → Нажали "+" рядом с "женщина" → Стало: "царь - мужчина + женщина"
  • Клик по слову "компьютер" → Поле ввода становится "компьютер" → Выполняется поиск
  1. Особенности:
  • Поддержка экранирования кавычек в словах
  • Сохранение фокуса в поле ввода после добавления слова
  • Стилизация под общий дизайн (используются CSS-переменные)

Безопасность:

  • Используется replace(/'/g, "\\'") для экранирования кавычек в словах
  • Все обработчики проверяют входные данные

Теперь пользователь может удобно:

  1. Быстро искать отдельные слова кликом
  2. Строить сложные векторные выражения без ручного ввода операторов
  3. Интерактивно экспериментировать с векторной арифметикой

terratensor/glove-pipeline#2 (comment)

### Реализованный функционал:

1. **Клик по слову**:
- При клике на любое слово в результатах поиска оно автоматически подставляется в поле ввода
- Сразу выполняется новый поиск по этому слову

2. **Кнопки + и -**:
- Каждый результат теперь имеет две кнопки (+ и -) справа от коэффициента
- При нажатии на "+" текущий запрос дополняется оператором "+" и выбранным словом
- При нажатии на "-" текущий запрос дополняется оператором "-" и выбранным словом
- Учитывается, если в конце запроса уже есть оператор

3. **Примеры работы**:
- Было: "царь" → Нажали "-" рядом с "мужчина" → Стало: "царь - мужчина"
- Было: "царь - мужчина" → Нажали "+" рядом с "женщина" → Стало: "царь - мужчина + женщина"
- Клик по слову "компьютер" → Поле ввода становится "компьютер" → Выполняется поиск

4. **Особенности**:
- Поддержка экранирования кавычек в словах
- Сохранение фокуса в поле ввода после добавления слова
- Стилизация под общий дизайн (используются CSS-переменные)

### Безопасность:
- Используется `replace(/'/g, "\\'")` для экранирования кавычек в словах
- Все обработчики проверяют входные данные

Теперь пользователь может удобно:
1. Быстро искать отдельные слова кликом
2. Строить сложные векторные выражения без ручного ввода операторов
3. Интерактивно экспериментировать с векторной арифметикой
@audetv audetv merged commit ad1abfc into main Mar 28, 2025
2 checks passed
@audetv audetv deleted the develop branch March 28, 2025 21:35
@iprst
Copy link
Copy Markdown

iprst commented Mar 28, 2025

Токенизировать бы это всё, чтобы систематические соответствия токенов были вшиты в систему. А так, получился векторный калькулятор терминов. Здесь не хватает только что-то вроде фрейма, который бы отдавал 3-5-10 результатов из топчика хотя бы из использованных поисковиков.

Иными словами, если наоборот в основной поиск внедрить фрейм векторного уточнения, вот это будет польза дела. Особенно пригождается в полной библиотеке, но и на сайте может быть востребовано. Фактически мы получаем некое подобие обсуждавшегося облака тегов, только это не теги, и это не облако, но общее направление функционала очень близко к тому, что подразумевалось.

UPD расширил и углубил в теме «вычисление косинусного сходства» по ссылке ниже.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants