Веб-приложения: хранение и поиск по пользовательским блокам текста - PullRequest
1 голос
/ 11 апреля 2009

Справочная информация:

Я создаю поэтический сайт с пользовательским контентом. Соответствующие действия пользователя для моих вопросов таковы:

  • а. Зайдите на fancysitename.com/view, чтобы увидеть все стихи на данный момент
  • б. Перейдите на страницу fancysitename.com/submit, чтобы написать свое стихотворение.
  • с. Перейдите на страницу fancysitename.com/apoemid, чтобы просмотреть конкретное стихотворение, которое вы добавили в закладки ранее.
  • д. Перейдите на страницу fancysitename.com/search, чтобы ввести слово для поиска во всех стихах.

Все стихи хранятся в виде текстовых полей в базе данных и имеют ссылку на идентификатор стихотворения. Таким образом, «апоэмид» на шаге с будет основным ключом кортежа, и я просто подтяну текст после получения ключа из URL.

Вопрос:

    1. Стихи не существуют нигде, кроме как в базе данных. Мой веб-приложение буквально 4 HTML-файлов. Повлияет ли этот подход на мой рейтинг в поисковых системах?
    2. Есть ли более эффективный способ сделать 'd', чем делать Select * на БД и вручную анализировать текст на сервере? Каждое стихотворение будет содержать не более 10 строк, поэтому я думаю, что использование полнотекстового поискового движка, такого как Люцерн, вероятно, будет излишним.

Протест

Я сейчас запускаю это на движке приложений Google, так что мои настройки базы данных довольно ограничены. Поэтому, хотя мне, безусловно, было бы интересно услышать об идеальном способе сделать это, это сторонний проект, поэтому мой бюджет ограничен: (

Спасибо!

Редактировать: Похоже, я не так хорошо гуглить в 7 утра. С тех пор я нашел решение для вопроса 2 здесь , поэтому, пожалуйста, не обращайте внимания на вопрос 2.

Ответы [ 3 ]

1 голос
/ 14 апреля 2009

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

Некоторые детали SearchableModel можно найти здесь:

http://groups.google.com/group/google-appengine/browse_thread/thread/f64eacbd31629668/8dac5499bd58a6b7?lnk=gst&q=searchablemodel

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

http://www.codinghorror.com/blog/archives/001174.html

0 голосов
/ 14 апреля 2009

Место хранения ваших данных не повлияет на рейтинг вашего сайта, а только на то, как вы его обслуживаете (по каким URL-адресам и т. Д.). У произвольного поискового паука нет абсолютно никакой возможности сказать, где вы храните свои данные, и нет причин для этого тоже.

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

0 голосов
/ 11 апреля 2009

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

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