контекстный поиск | |
---|---|
ERG Автор Сообщений: 25 Дата регистрации: 04.02.2005 |
1. Кто реализовывал на VFP и как конткетсный поиск (поиск вхождения фразы в тексте)(включая словоформы)?
Интересует что и как индексируется, какой алгоритм поиска, какая структура базы, как оптимизируется и т.д. 2. Где можно прочитать о создание COM объекта на VFP7? |
Re: контекстный поиск | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
в Поиск
|
Re: контекстный поиск | |
---|---|
Alex Roublev Сообщений: 3695 Откуда: Ярославль Дата регистрации: 28.09.2002 |
Цитата:forum.foxclub.ru forum.foxclub.ru Цитата:forum.foxclub.ru etc., etc. + Поиск |
Re: контекстный поиск | |
---|---|
ERG Автор Сообщений: 25 Дата регистрации: 04.02.2005 |
Alex Roublev
Это не то. Суть вот в чем. Есть очень большая база с memo полем, в котором хранится текстовая информация. Пользователи делают запрос на выборку опрделенной информации по слову, набору слов, фразе. Нужно выбрать записи, в которых они встречаются. Вот меня и интересует как организовать базу и индексы, чтобы время выборки было минимальным. |
Re: контекстный поиск | |
---|---|
Alex Roublev Сообщений: 3695 Откуда: Ярославль Дата регистрации: 28.09.2002 |
или
for example:
|
Re: контекстный поиск | |
---|---|
ERG Автор Сообщений: 25 Дата регистрации: 04.02.2005 |
Alex Roublev
К сожалению база большая, запросы идут часто, а так простым перебором получется медленно Хочется типа такого, что при наполнении базы создается таблица вхождения слов, в каких записях они встречаются и на основании их уже делаьт select Причем еще хочется, чтобы можно было выбирать словоформы (т.е. при вводе слова "клавиатура" выбиралось "клавиатурой", "клавиатурами" и т.д.) |
Re: контекстный поиск | |
---|---|
Alex Roublev Сообщений: 3695 Откуда: Ярославль Дата регистрации: 28.09.2002 |
2 ERG:
Цитата: В цикле перебором по большой базе - медленно, согласен. Но быстрее Select (хотя бы из поставленной тобою задачи) - врядли что-то можно придумать лучше. Цитата: Ну если фокс приручить к орфографии русского языка, то вполне... Хотя врядли кто-то для решения узкой задачи возьмется за столь неблагодарное дело. А так достаточно указать основу существительного слова (без приставки, суффикса и окончания), чтобы получить потом результат близкий к желаемому. Команда ATCLINE как раз в этом, по-моему, неплохо поможет. Если база большая - пользуй Select. Это как раз такой случай. Цитата: Может быть что-то эдакое?..
Отредактировано (14.03.05 04:41) ------------------ И волки сыты, и овцы целы, и пастуху - вечная память... |
Re: контекстный поиск | |
---|---|
vlad Сообщений: 850 Откуда: Запорожье Дата регистрации: 28.09.2000 |
по-моему в книге Леса Пинтера о VFP 3.0 был пример решения такой задачи.
к сожалению ее под рукой нет, а на вскидку припоминается только то, что там применялась отдельная таблица для ключевых слов, где хранилось ключевое слово и ссылка на его местонахождение |
Re: контекстный поиск | |
---|---|
Гулин Федор Сообщений: 4633 Откуда: Минск Дата регистрации: 24.10.2002 |
>> отдельная таблица для ключевых слов, где хранилось ключевое слово и ссылка на его местонахождение
на 100 % согласен сам так делаю - в справочнике поставщиков - бью наименование на слова и пишу в отдельную таблицу - словарь kpost,slovo можно там повыкидывать какие-то слова (я выкидываю 1 буквенные не цифры) но это не принципиально >> Причем еще хочется, чтобы можно было выбирать словоформы (т.е. при вводе слова "клавиатура" выбиралось "клавиатурой", "клавиатурами а когда я ищу по поиску в словаре - то инкремнтный поиск в принципе это и дает - я думаю здесь достаточно будет набрать клавиат ps в принципе формирование (дополнение) словаря можно оформить отдельной программой и повесить на сервер - если вдруг база редактируется разными прог-ми разных авторов |
Re: контекстный поиск | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
года 3 взад делал што-то типа спровчной телефонной службы, по рекламе, кот поступала в нам Редакцию.
Поиск был на основании построения динамического запроса. слова для поиска соот выбирались из справочника.. каждую ночь серевер шерстил данные. обновлялась таблица Word (WordID, Name) - хранит весь пословесный мусор. Далее используя MS Word для каждого слова одновлялась таблица синонимоф Synonim (SynonimID, Name) - соотв имели слова в им.падеже ед. числе. Из-за того, шта данная процеду оч длинная, то таблица слоф и синонимоф имела отношение М:М. и уже исходя из синонимоф и их отношения к словам строилась таблица для реализации М:М синонимоф к данным. Оперы при поиске выбирали из нужное количество слоф из справочника синонимоф и далее генерился SELECT-SQL для выборки нужных данных ЗЫ актуальность поиска - 1 день. по условию задачи такой лаг допускался. если у тя нельзя, то генреацию синонимоф и линкофки нужно делать ессна на этапе сохранения данных ЗЫЫ можна обойтись и без синонимоф, выдавать проста весь список слоф. соотв операторы "клавиатура" выбирут в разных ее введеных эпостасях вот и фс:е ------------------ Осторожно - глисты! |
© 2000-2024 Fox Club  |