Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Существует таблица базы данных содержащая информацию о нескольких десятках тысяч объектов (в перспективе, до нескольких миллионов). Необходимо разработать инструмент для получения выборок из этих данных. Что-то типа языка запросов, но с некоторыми дополнениями.

Примеры запросов:

1. найти объекты у которых в поле 1 содержится подстрока "abc" (без учета регистра)

2. найти объекты у которых в поле 1 содержится число

3. найти объекты у которых в поле 1 или 2 содержится слово "апельсин", в любой грамматической форме.

4. найти значения поля 1, такие что количество объектов с таким значением в этом поле больше 10

5. найти значения поля 1, такие что количество объектов с таким значением в этом поле, удовлетворяющих условию из запроса #2, больше 10.

И так далее. Запросы конечно можно объединять с помощью OR и AND.

Необходимо разработать сам язык запросов, а также достаточно простой инструмент для конструирования запросов.

Дополнение 1.

Сами запросы должны храниться в отдельной таблице базы данных. Кроме самого запроса там должно хранится имя запроса, его статистика использования, дополнительные свойства, количество результатов при последнем вызове и связи между отдельными запросами (можно использовать NoSQL базу данных, но не принципиально т.к. запросов будет относительно немного).

Пользователь может выполнить поиск по таблице запросов указав его характеристики и/или указать запрос, который должен быть связан с искомыми. Но тут достаточно обычного запроса SQL, ничего необычного.

Дополнение 2.

У каждого запроса есть некоторые свойства, такие как частота использования, «масштабность» (зависит от числа результатов) и другие. Также дополнительные свойства могут быть у связей соединяющих запросы.

Эти свойства могут использоваться при поиске запросов, но по большей части нужно просто зарезервировать их на будущее.

Дополнение 2.

Когда приложение выполнило запрос и получило выборку файлов оно должно начать перебирать другие запросы и проверять их соответствие выборке.

Например, приложение по запросу №3 из примера выше нашло все объекты со словом "апельсин". После этого, в фоновом режиме приложение должно проверить на полученной выборке запросы №1 и №2 и вывести статистику для этих запросов внутри этой выборки.

Конечно, должны проверяться не все запросы, а только связанные с текущим запросом.

Дополнение 3.

Пользовательский интерфейс для этого проекта будет разрабатываться отдельно, поэтому к нему нет особенных требований, возможна даже работа в текстовом режиме. Хотя для конструктора запросов все же желательно предусмотреть некоторый интерфейс.

Дополнение 4.

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

Дополнение 5.

Отдельной задачей является построение автоматического рубрикатора для базы данных. Некоторые поля базы данных могут содержать достаточно большой текст. Рубрикатор должен определить категорию текста, и обработав все тексты - получить иерархический список рубрик.

Эту задачу не нужно решать "с нуля", т.к. есть множество открытых наработок в этой области. Нужно определить наиболее простой и перспективные подход и реализовать его в качестве отдельного модуля. Стоимость разработки этого дополнения, пожалуйста, указывайте отдельно.

Ориентир по бюджету - $700

Но возможно изменение суммы, в любую сторону, в зависимости от конкретного предложения и опыта исполнителя.

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

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

10 лет назад
QuienSabe
Даниил 
42 годаРоссия
18 лет в сервисе
Был
8 лет назад
  • Похожие заказы
  • Здравствуйте. Нужен программист с опытом работы с портативными сканерами штрих-кодов. Задача состоит в сканировании кода, пересылке результата сканирования на сервер, отображении результата сканирования(сервер может ответить в нужном формате). Все это должно происходить без подключения сканера к компьютеру(сканер ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад
  • $1500

    Необходимо разработать приложение для поиска файлов на компьютере (под windows). Т.к. в этой области есть множество открытых разработок то можно использовать любые из них на ваш выбор. Предлагаете варианты. Задача разбивается на 3 подзадачи: 1. Первичное сканирование ...

    Закрыт
    10 лет назад
  • Здравствуйте. Нужна программа для автоматизированной работы с google+ Программа должна авторизоваться в соц.сети, зайти в указанную группу или профиль, открыть список участников сообщества или список друзей, и начать добавлять людей в друзья. Программа должна эмулировать действия ...

    Закрыт
    10 лет назад
  • $50

    Авторизация в ВК (Форма) Функции: 1. (Цикл) Есть ли непрочитанные сообщения? - Если да Содержит ли оно ссылку на запись на стене любого пользователя или группы? - Если да – Репост себе на стену... Статус ...

    Закрыт
    10 лет назад
  • Необходимо доработать браузерное расширение согласно прикрепленному ТЗ. Также, пожалуйста, при возможности заполните экспресс-опросник перед подачей заявки - https://docs.google.com/forms/d/1gAuquRbhtKJaEfno5NDZZ4rXiTCDigvasGOk-Iz6luw/viewform?usp=send_form Если вы считаете, что ваше время на заполнение опросника должно быть оплачено, то укажите, пожалуйста, об этом в вашей ...

    Закрыт
    10 лет назад
  • Имеется модуль по оформлению визы в Эмираты онлайн. В форме есть обязательное для заполнение поле (номер авиабилета), в которое можно вносить только 10 цифр (никакие символы и знаки), функция copy-past в данном поле также не ...

    Закрыт
    10 лет назад
  • Необходим разработчик для написания приложения (офлайнового) для магазина мебели. Тематика: продажа мебили. Программа должна ставиться (или просто запускаться) под Виндовс с возможностью хранения данных в файлах цсв или иксэмэль.

    Закрыт
    10 лет назад
  • Уважаемые программисты. Мой проект касается в первую очередь программистов-физиков или программистов-механиков. Но это не обязательное требование, так как алгоритм расчета имеется. Итак, для сайта www.stud-help.com нужно написать программу для расчета прикладных задач по теормеханике (статика) и поэтапного вывода ...

    Закрыт
    10 лет назад
  • В простом десктопным софте, нужно исправить пару мелочей. Софт для взаимодействия с VPN сервисом под WIN , так что желательно понимать что такое VPN Работы на 1-2 часа максимум Подробности в скайпе разработчик даст. Бросайте сразу скайп для ...

    Закрыт
    10 лет назад
  • Есть папка с картинками и есть папка с html-файлами. Задача вставить все картинки по очереди в html-файл. Подпись взять из title. Форматы файлов .html .htm форматы картинок .png .jpg. jpeg и они же заглавными буквами. ...

    Прикладное ПО1 исполнитель
    Завершен
    10 лет назад