Приложение REST для консультации пользователей с использованием FLS (полный текстовый поиск).
Выполните
$ docker -vчтобы проверить установку.
Клон репозиторий ( $ git clone [email protected]:gustavo-flor/find-user-service.git );
Посетите клонированную папку ( $ cd find-user-service )? ️;
Запустите сборку приложения ( $ ./mvnw clean install -DskipTests=true );
Поднимитесь на услугу и его зависимости ( $ docker compose up );
Мы готовы использовать приложение через конечную точку http://localhost:8080/search ?
Получите доступ к «производственной» среде для проверки приложения.
Важно отметить, что это не специальный хост, поэтому ожидаются лентидоны или ограничения отказов. В первом доступе может возникнуть задержка для ответа.
Получить | /search?query={terms} | json
Пользователи, которые были найдены на основе отправленных условий, заказанные в соответствии с актуальностью пользователей и совместимостью с условиями.
Условия : каждое слово, разделенное пространством, считается термином (если необходимо использовать для поиска конкретного предложения, просто отправьте предложение между двойными кавычками)
Примеры:
query=Pedro Gabriel : Приложение будет искать пользователей, которые рассматривают термин «Питер» или «Габриэль» (или его производные, я объясняю это лучше в теме «Подробности + цели ...»);
query="Pedro Gabriel" : приложение будет искать пользователей, которые точно рассматривают термин «Педро Габриэль»;
query="Pedro" Gabriel : Приложение будет искать пользователей, которые точно размышляют за термином «Петр» или созерцают «Габриэль» (или их производные).
| Параметр | Описание | Обязательный |
|---|---|---|
| запрос | Условия для поиска. | Да |
| От | Страница, количество страниц начинается с 0. Стандартное значение: 0. | Нет |
| размер | Пользователи ограничивают на страницу. Стандартное значение: 15. | Нет |
| отлаживать | Добавляет к возвращению пользователей к примечанию к актуальности и совместимости с отправленными условиями. Стандартное значение: ложные, разрешенные значения [true, false]. | Нет |
Пример:
$ curl http://localhost:8080/search ? query=%22pedra%22 {
"from" : 0 ,
"size" : 15 ,
"data" : [
{
"id" : "9f64853b-f164-4b13-a3d7-1fdb9977e516" ,
"name" : "Jeferson Pedra" ,
"username" : "jeferson.pedra"
} ,
{
"id" : "b4026e35-932c-4943-b0db-7dd31eca5597" ,
"name" : "Stefane Pedra Zimiani" ,
"username" : "stefane.pedra.zimiani"
}
]
}Пользователь возвращает с
debug: true
{
"textScore" : 1.5 ,
"id" : "482c46f3-a27c-4f1a-abd0-3039ede21fdd" ,
"name" : "Gustav Berghahn" ,
"username" : "gustav.berghahn" ,
"relevance" : 3
} Необходимость заключалась в создании масштабируемого и высокопроизводительного приложения, которое могло бы искать одного или нескольких пользователей конкретной базы данных и заказать их в соответствии с их актуальностью. Знание, что это было выбрано для создания приложения Spring + MongoDB.
У нас нет конечной точки, чтобы включить новых пользователей, они включены при восхождении на приложение на основе файлов, присутствующих в папке
resourcesпроекта Java.
Каковы были мотивы использования весны?
Первое и самое важное - это знакомство с структурой, но также и простота создания и настройки API -отдыха с ним, а также содействие конфигурации с MongoDB и другими платформами Deploy (Heroku).
Каковы были мотивы для использования MongoDB?
Зная нашу потребность, мы можем понять, что нам не придется иметь дело с какими -либо отношениями в нашей базе данных, так что это было бы отличной причиной, но главная причина, по которой я не могу лгать: P была вашей функцией текстового поиска ... Fts Tadã !!! !!!
Преимущества и недостатки полного текстового поиска ...
Индексируя тексты поиска для поиска, FTS в конечном итоге приносит большую производительность по сравнению с такими опциями, как «Like», это решение специализируется на поиске терминов, поэтому часто может выполнять поиск гораздо более правильным и быстрее.
Его самый большой недостаток и враг - это: FTS не «подобно», и сначала это трудно понять, мы не можем отправить половину срока и полагать, что поиск будет работать, как мы ожидаем.
Зная это для еще более правильного поиска, идеально, чтобы действительно знать все возможности, которые FTS дает нам благодаря своей документации.
Репозиторий с веб-приложением для употребления этой услуги, Find-User-Web [в процессе разработки].
Не стесняйтесь создавать улучшения для этого решения ⚗, Большое объятие!