Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как лучше организовать поиск текста по БД? / 19 сообщений из 19, страница 1 из 1
25.02.2004, 14:57
    #32421016
Как лучше организовать поиск текста по БД?
Привет!

Есть таблица content в моей БД. Поле text этой таблицы содержит текст статьи. Каким образом можно осуществить поиск определенной строки? Возможен ли неформальный поиск по БД стандартными средствами? Поддерживает ли Access поиск с использование Рег. Выражений?

Спасибо!
...
Рейтинг: 0 / 0
25.02.2004, 15:04
    #32421037
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
А теперь все тоже самое, но в терминах БД...плиз.
...
Рейтинг: 0 / 0
25.02.2004, 15:07
    #32421043
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
классная штука для полнотекстового поиска Mssql + mssearch
...
Рейтинг: 0 / 0
25.02.2004, 15:14
    #32421063
Как лучше организовать поиск текста по БД?
Ок, есть текстовая строка.

Надо организовать выборку всех строк, поле text у которых содержит эту текстовую строку. Желательно отсортировать по количеству совпадений...
...
Рейтинг: 0 / 0
25.02.2004, 15:15
    #32421071
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
Не заморачивайся. Стандартных аксесовских средств тебе не хватит.
...
Рейтинг: 0 / 0
25.02.2004, 15:17
    #32421076
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
авторОк, есть текстовая строка.

Надо организовать выборку всех строк, поле text у которых содержит эту текстовую строку. Желательно отсортировать по количеству совпадений...

А может быть так:

Надо организовать выборку всех записей , поле text у которых содержит эту текстовую строку.
???
...
Рейтинг: 0 / 0
25.02.2004, 15:20
    #32421085
Как лучше организовать поиск текста по БД?
incold
Вы правы, уже мой русский меня подводит...
...
Рейтинг: 0 / 0
25.02.2004, 15:22
    #32421089
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
вот есть такая штучка ищет по степени похожести
правда для adp, но несложно преобразовать


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
Public Sub Кнопка13_Click()
Dim t
t = Timer()
If Len(Me.findstr) <  3  Then
MsgBox  "Для поиска небходимо ввести более 3  букв"
Exit Sub
End If


Dim rst As New ADODB.Recordset
rst.Open  "client" , CurrentProject.Connection, adOpenKeyset, adLockOptimistic

'обнуление '
Do Until rst.EOF
rst!simple =  0 
rst.Update
rst.MoveNext
Loop


Dim i
Dim sss
Dim str

Dim l
Dim k
Dim found As Boolean


str = Left(Me.findstr,  31 )
str = Replace(str,  " ОАО" ,  "", , , vbTextCompare)
str = Replace(str, "  OAO ", "  ", , , vbTextCompare)
str = Replace(str, "  ОАО ", "  ", , , vbTextCompare)

str = Replace(str, "  ООО ", "  ", , , vbTextCompare)
str = Replace(str, "  OOO ", "  ", , , vbTextCompare)


Me.PB.Visible = True

rst.MoveLast
Me.PB.Max = rst.AbsolutePosition
rst.MoveFirst
Do Until rst.EOF
Me.PB.value = rst.AbsolutePosition

'k c какого символа начинается поиск

For k = 1 To Len(str) - 2

'l- длина искомой фразы

found = False
l = 3 
For l =  3  To Len(str)
    sss = Mid(str, k, l)




    For i =  1  To Len(rst!name) -  2 
        If sss = Mid(rst!name, i, l) Then
            rst!simple = rst!simple +  10  ^ l /  10  ^  15 
            rst.Update
            found = True
        End If
    Next i

If found = False Then GoTo m1


Next l
m1:

Next k

rst.MoveNext
Loop

Me.OrderBy = "simple DESC"

Me.OrderByOn = True
Me.Requery
Me.PB.value =  0 
Me.PB.Visible = False
Debug.Print Timer() - t
End Sub
...
Рейтинг: 0 / 0
25.02.2004, 15:28
    #32421103
Как лучше организовать поиск текста по БД?
Не хотелось бы в ручном режиме всю базу перелопачивать...
...
Рейтинг: 0 / 0
25.02.2004, 15:32
    #32421114
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
авторНе хотелось бы в ручном режиме всю базу перелопачивать...
Тогда придется ограничиться простейшим Where что-то Like что-то
...
Рейтинг: 0 / 0
25.02.2004, 15:32
    #32421118
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
Я видел прорамму "следопыт" (правда она ищет не в бд, а в текствых файлах в указанных каталогах). Она сперва производит какое-то индексирование. А уж потом выводит список документов. И поисковые машины, насколько мне известно, работают похожим образом. Вот только механизм этого "индексирования" мне неизвестен. А то б можно было сделать "следопыт" на Access :-)
...
Рейтинг: 0 / 0
25.02.2004, 15:37
    #32421133
Как лучше организовать поиск текста по БД?
Понятно.
Всем спасибо за участие в обсуждении темы.
...
Рейтинг: 0 / 0
25.02.2004, 15:48
    #32421166
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
Соловьев Максим , странно, что тебе все понятно. Мне вот совершенно непонятно, как это нормально сделать. Можно сделать запрос, в котором ый в функция (типа того, что АлексаейК привел) будет искать подстроку.Запрос возвратит строки, в которых есть совпадения. Вот только, думаю, Access охренеет Mid-ом сканировать такие объемы.
...
Рейтинг: 0 / 0
25.02.2004, 15:50
    #32421175
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
Надо открыть Кнута, и выбрать там что-нибудь поприкольнее...
...
Рейтинг: 0 / 0
25.02.2004, 16:23
    #32421260
Sfagnum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
Извените я щаз наверное сморожу какую-нить глупость но почему бы не написать LIKE "*abvgd*"

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
25.02.2004, 16:26
    #32421270
Как лучше организовать поиск текста по БД?
Да, я так и сделаю.
Просто надеялся, что в Аксесе есть какой-нить механизм неформального поиска... Ан нет... Писать свой google тоже не очень хочется, проще, действительно, его на сайт натравить...
...
Рейтинг: 0 / 0
25.02.2004, 17:19
    #32421413
Varan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
А мне вот интересно, как этот google работает. Скопилось много mht-файов с SQL.ru, которые я периодически просматриваю. Сделать бы небольшой поисковичок, чтоб можно было искать информацию, а то "следопыт" что-то не находит половину файлов.
Хм, а вот и теория.
...
Рейтинг: 0 / 0
25.02.2004, 20:30
    #32421625
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать поиск текста по БД?
ты уверен что гугель работает на аксессе??

я думаю любой поисковик использует SQL серевер, а там полнотекстовый поиск есть
...
Рейтинг: 0 / 0
26.02.2004, 11:19
    #32422095
Как лучше организовать поиск текста по БД?
Нет конечно,
это была метафора... Надо быть последним идиотом, чтоб предположить такое...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как лучше организовать поиск текста по БД? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]