Как создать веб-интерфейс на основе сотен отчетов Excel? - PullRequest
0 голосов
/ 14 сентября 2018

У меня большая коллекция документов в финансовых отчетах Excel.Эти отчеты находятся на общем диске, и не все пользователи имеют доступ к диску.Я хотел бы создать некоторую форму базового веб-интерфейса с возможностями поиска, чтобы пользователь мог видеть данные.

У меня на компьютере работает ноутбук Jupyter, который может подключаться к файлам.Мои вопросы:
1. Как мне создать веб-интерфейс, где пользователь может искать клиента, который вызовет функцию в блокноте jupyter.Функция вернет данные клиента и отобразит их в браузере.

Поскольку цель состоит в основном в поиске, а не в каких-либо вычислениях, должен ли я полностью забыть о python и взглянуть на упругий поиск?Как начать работу с базовым эластичным поисковым запросом?Или что-то вроде Кассандры лучше?

Мне нужен поиск, чтобы просмотреть несколько файлов Excel и вернуть все результаты.Поэтому, если мы ищем клиента «ABC», он будет получать ежемесячную статистику за последние 12 месяцев (каждый месяц хранится в отдельном файле excel).

1 Ответ

0 голосов
/ 14 сентября 2018

Чтобы сделать поиск в данных Excel, вам понадобится какой-то скрипт, который читает эти файлы Excel, а затем использует эластичный поиск Bulk API для индексации этих таблиц Excel.Поскольку вы упомянули, что используете python, вы также можете использовать для этой целиasticsearch-py и использовать предоставляемый ими API ( Bulk helpers )

В зависимости от того, как вы проиндексировали эти файлы Excel в документыasticsearchтогда вы, вероятно, будете либо выполнять полнотекстовый поиск, используя query_string или что-то еще, либо использовать match (или даже match_phrase) запрос (если у вас есть какой-то определенный анализатор поиска, который вы хотели бы использовать) для поиска в этих документах.Проверьте все параметры здесь ( полнотекстовый поиск ).Для поиска вы можете использовать http-вызовы ( Query DSL ) или использовать для этого некоторый тип клиента, например asticsearch-dsl .

Возможно, простой запросвыглядеть примерно так:

GET /_search
{
    "query": {
        "query_string" : {
            "default_field" : "customer",
            "query" : "Akzo Nobel"
        }
    }
}

Который вы бы опубликовали в своем индексе, содержащем ваш документ.

ПРИМЕЧАНИЕ. Elasticsearch очень быстр для поиска, но не очень хорошо разбирается в поиске документов.Однако это не будет проблемой, если вы не извлекаете тысячи и тысячи документов.Даже если вы планируете делать что-то подобное, вы все равно можете использовать Scroll API из Elasticsearch

РЕДАКТИРОВАТЬ: так как я видел, что вы упомянули метрики, вы также можете взглянуть на Kibana и используйте его для создания информационных панелей, где вы показываете различные показатели ваших клиентов.Это может сэкономить ваше время или необходимость даже создать полный веб-интерфейс, и он полностью открыт.Вы читаете больше о том, как использовать Kibana с вашим экземпляром эластичного поиска здесь: Документы Kibana

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...