Я хочу реализовать простой форвард-индексатор в PHP. Да, я понимаю, что PHP вряд ли является лучшим инструментом для решения этой задачи, но я все равно хочу это сделать. Смысл этого прост: я хочу один и в PHP.
Давайте сделаем несколько основных предположений:
Весь Интернет состоит из
около пяти тысяч HTML и / или
текстовые документы. Каждый документ находится в определенном домене (UID) . Никаких других проприетарных / тайных форматов не существует в нашем воображаемом пещерном Interweb.
Результат нашего замечательного алгоритма прямого индексирования на основе PHP должен выглядеть следующим образом:
UID1 -> index.html -> Хелен, она, чемпион, с веснушками
UID1 -> foo.html -> курица, фермеры, иди, домой, есть, овцы
UID2 -> blah.html -> следующий, неделя, вкл, badgerwatch
UID2 -> gah.txt -> один, один, и, один, это не число wang
В идеале я хотел бы увидеть решения, которые принимают во внимание, даже на самом элементарном уровне, концепции токенизации / устранения неоднозначности границ слов / части речи.
Разумеется, я понимаю, что это желаемое за действительное и поэтому смирит любые достойные попытки анализа указанных мнимых документов:
- Извлечение реального текстового содержимого в документе
как список слов в порядке
которым они представлены.
- Все время игнорируя любой мусор
такие как
<script>
и <html>
теги для вычисления списка UID (который может быть, например, доменом), за которым следует имя документа (ресурс в домене) и, наконец, список слов для этого документа. Я понимаю, что HTML-теги играют важную роль в семантическом размещении текста в документе, но на этом этапе мне все равно .
- Имейте в виду решение, которое может составить список
слов при чтении документа
круче тот, который должен
сначала прочитайте весь документ.
На данном этапе мне все равно, где и как хранятся данные. Даже элементарного набора «print» операторов будет достаточно.
Заранее спасибо, надеюсь, это было достаточно ясно.