+ Ответить в теме
Показано с 1 по 5 из 5

Тема: Доступ к документам по ключевым словам

  1. #1
    Moderator Куратор
    system architect
    Хыиуду has a spectacular aura about Хыиуду has a spectacular aura about
    Регистрация
    06.03.2005
    Адрес
    Москва
    Сообщений
    2,388
    Вес репутации
    19

    По умолчанию Доступ к документам по ключевым словам

    Есть некоторая БД, в которой хранятся документы и сопоставленные им ключевые слова. Связь между документами и КС - "многие ко многим". Пока не знаю, как лучше это организовать: то ли ввести в таблице документов поля КС1, КС2, КС3, КС4 (ключевых слов не больше 4 для каждого документа), то ли сделать поле типа "массив" (оно, кстати, есть в MySQL вообще?), то ли сделать таблицу с парами "КС - документ".
    Так вот, доступ к БД происходит через РНР-скрипт: пользователь в строке вводит несколько ключевых слов, база должна выдать ему те документы, для которых все ключевые слова присутствуют в этой строке. Как лучше сделать: разбить строку на отдельные слова средствами РНР, а потом передать в MySQL массив слов (если да, то как это делается?), либо передать строку и разбивать ее уже средствами MySQL (если да, то опять же, как это делается?)
    Искусство программирования - заставить компьютер делать все то, что вам делать лень.
    Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Administrator Админ
    system architect
    AiK is on a distinguished road Аватар для AiK
    Регистрация
    13.02.2004
    Адрес
    СПб
    Сообщений
    2,297
    Вес репутации
    80

    По умолчанию Re: Доступ к документам по ключевым словам

    1) Массив передаётся через IN, т.е. что-то вроде
    Код sql:
    1. ... WHERE text IN ('слово1', 'слово2','словоN')
    2) Возможно, имеет смысл ознакомится с fulltext search...
    Даже самый дурацкий замысел можно воплотить мастерски

  4. #3
    developer Дионис is on a distinguished road
    Регистрация
    11.07.2005
    Адрес
    Крым, Алушта
    Сообщений
    152
    Вес репутации
    13

    По умолчанию Re: Доступ к документам по ключевым словам

    Думаю, надо делать три таблицы:
    1. Табла Docs:
    - IdDocs - счётчик
    - Doc - мемо, текст документа
    - куча полей типа Аффтар, дата, тема, и т.д.
    2. Табла Dict:
    - IdWord - счётчик
    - Word - текстовый, само слово
    - несколько полей типа признак слова (глагол, сказуемое, причастие...), словоформы и т.д.
    3. Табла Scan
    - IdScan - счётчик
    - IdDocs - связь с таблицей Docs
    - IdWord - связь с таблицей Dict

    Далее, требуется модуль обработки (парсинга) документов, который производит поиск по документу слов и их форм (выпить, выпивать, напиться, напоить, запить...), вычленяет его (слова) основную форму и производит поиск в таблице Dict. Если не нашел, то заносит в таблицу Dict это слово и его формы (грамотный парсер нужон, или вручную). Когла и если в таблице Dict есть это слово, то в таблу Scan нужно внести IdDocs и IdWord.

    Далее, весь поиск осуществляется выборкой по таблице Scan, либо по полю IdWord (ищутся документы, содержащие такое слово и/или его словоформы), либо по IdDocs (искать все словоформы данного документа), хотя последнее - не очень информативно.

  5. #4
    Moderator Куратор
    system architect
    Хыиуду has a spectacular aura about Хыиуду has a spectacular aura about
    Регистрация
    06.03.2005
    Адрес
    Москва
    Сообщений
    2,388
    Вес репутации
    19

    По умолчанию Re: Доступ к документам по ключевым словам

    Цитата Сообщение от AiK Посмотреть сообщение
    2) Возможно, имеет смысл ознакомится с fulltext search...
    А где можно с этим зверем поближе познакомиться?
    Искусство программирования - заставить компьютер делать все то, что вам делать лень.
    Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.

  6. #5
    Moderator Куратор
    developer
    Yurich is on a distinguished road
    Регистрация
    23.02.2004
    Сообщений
    104
    Вес репутации
    15

    По умолчанию Re: Доступ к документам по ключевым словам

    Цитата Сообщение от Хыиуду Посмотреть сообщение
    А где можно с этим зверем поближе познакомиться?
    Он есть в MySQL'е. Смотри здесь: http://dev.mysql.com/doc/refman/4.1/...xt-search.html

+ Ответить в теме

Похожие темы

  1. Worksheet. Доступ.
    Задача: Workbook содержит несколько рабочих листов. Необходимо обеспечить а в т о р и з о в а н н ы й доступ пользователей к этим листам....
    от Sokl в разделе MS Office и VB(A).
  2. Доступ к листам в Эксель
    Здравствуйте! Подскажите, пожалуйста, как сделать так что-бы книга могла открываться несколькими пользователями одновременно, и чтобы каждый мог...
    от NEW-iDream в разделе MS Office и VB(A).
  3. Перенос по словам в выпадающей форме Ексел
    Вот такой вопрос: В полях формы "выпадающий список" в Екселе использую очень длинные значения и они не помещаются в ширину, возможно ли сделать...
    от lakmuss2006 в разделе MS Office и VB(A).
  4. Доступ к многомерным массивам
    Доброго времени суток. Вопрос чайника, но подскажите пожалуйста. Нужно получить доступ из одной функции к многомерному массиву, объявленому в другой....
    от pashtet в разделе C и C++

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения