Веб-интерфейс для коллекции проиндексированных документов - PullRequest
1 голос
/ 04 декабря 2011

У меня есть коллекция документов XML, инвертированный индексатор файлов и инструмент командной строки для поиска индекса (или индексов), созданного индексатором.Обратите внимание, что последний возвращает список идентификаторов документов и различные статистические данные о каждом документе (ранжирование по различным функциям, совпадения терминов и т. Д.), А не фактический текст документа.Обе программы были написаны на прямом C (мной).

  • Коллекция небольшая (~ 1 ГБ).
  • Индекс составляет около 10-20% от размера коллекции.
  • Это не предназначено (и никогда не будет) для публичного использования (для его использования потребуется войти в систему).
  • Необходимо запустить с полностью отключенными сценариями на стороне клиента.

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

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

Есть ли какие-либо явные преимущества, которые одно имеет перед другим?Риски безопасности?И кто-нибудь может порекомендовать мне легковесный фреймворк или библиотеку, подходящую для всего этого?(Как я уже сказал, я давно не занимался веб-вещами.)

Должен ли я вызвать программу запросов CLI?Почему или почему нет?

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

1 Ответ

2 голосов
/ 04 декабря 2011

Для чего-то простого я бы использовал PHP и сервер Apache. Зачем?

Не требуется веб-фреймворк для взаимодействия между Apache; меньше сложности = меньше времени на настройку. Вы можете просто установить Apache и модуль php, затем вставить этот файл в свой web-корень и указать HTML-форму на http://127.0.0.1/indexer.php с текстовыми полями "name" и "author":

<?php
$required_terms = array("name", "author");

foreach ($required_terms as $value) {
    if (!isset($_POST[$value])) {
        printf("The search term \"%s\" was missing", $value);
        exit;
    }
}

$terminal_command = sprintf("/usr/bin/indexer -n %s -a %s", $_POST["name"], $_POST["author"]);
print exec($terminal_command);

(Обратите внимание, что это просто для демонстрации простоты, требуется проверка полученных значений записей).

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

Таким образом, основная причина будет простой и быстрой в настройке , для чего-то внутреннего и простого, как это.

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