Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.11;
Скачать: CL | DM;

Вниз

Приделал к кладовке поиск..   Найти похожие ветки 

 
Kerk ©   (2005-08-13 14:49) [0]

..простенький... порекомендуйте что ли плиз что-нибудь.. чтоб он поумнее себя вел...
сейчас я тупо бью строку запроса на слова и ищу как COMMENT LIKE "%word1%" or COMMENT LIKE "%word2%"....

http://kladovka.net.ru


 
VictorT ©   (2005-08-13 20:03) [1]

Можно добавить варианты поиска. Типа такого:
Критерии поиска:
(*)все слова
( )хотя бы одно слово
( )точная фраза

Где в первом случае запрос, как у тебя, во втором в запросе or заменяется на and, а в третьем - строка запроса не разбивается на слова.
Так сделано, например, тут:
http://deep.webest.net/forum/search.php


 
VictorT ©   (2005-08-13 20:06) [2]

З.Ы. кстати, в опере кнопка "найти" налазит на текст, а в ИЕ, наоборот, текстовое поле налазит на меню.


 
VictorT ©   (2005-08-13 20:12) [3]

Ну и ещё, наверно имеет смысл добавить возможность выбора категорий, в которых искать.


 
Kerk ©   (2005-08-13 20:21) [4]

VictorT ©   (13.08.05 20:03) [1]
Можно добавить варианты поиска. Типа такого:
Критерии поиска:
(*)все слова
( )хотя бы одно слово
( )точная фраза


Да.. наверно стоит сделать ссылочку "расширенный поиск" и там такую форму.

нда.. посмотрел в IE..ужас.. а как лечить?


 
delirium-system-2   (2005-08-13 20:24) [5]

Когда рисунки отключены, в FF сползает в текст. Абсолютное позиционирование однако...


 
Kerk ©   (2005-08-13 20:32) [6]

delirium-system-2   (13.08.05 20:24) [5]

Это поправил.
А вот что делать чтоб в IE кнопка не сползала?


 
VictorT ©   (2005-08-13 20:33) [7]


> Да.. наверно стоит сделать ссылочку "расширенный
> поиск" и там такую форму.

И на неё же можно автоматически переходить при поиске из упрощённой формы.

> нда.. посмотрел в IE..ужас.. а как лечить?

Заглянул в код. Для формы у тебя используется абсолютное позиционирование, относительно верхнего края документа.
А отступ главной (корневой, или как это её сказать...) таблицы в разных броузерах почему-то разный.
Одна из возможных причин, которые я вижу - не заданы поля для <body> (не проверял, действительно ли это так у тебя).


 
Kerk ©   (2005-08-13 20:37) [8]

VictorT ©   (13.08.05 20:33) [7]

Поля и правда не заданы. Но абсолютное позиционирование по вертикали я уже убрал.


 
VictorT ©   (2005-08-13 20:54) [9]

Попробуй задать поля для формы.
Типа такого: <form style="margin: 0px" ...


 
Eraser ©   (2005-08-13 20:54) [10]

Kerk ©   (13.08.05 14:49)

Ещё, как доп. вариант, можно сделать поиск по сайту через Яндекс или Гугл.


 
Igorek ©   (2005-08-13 20:56) [11]

А на каком СУБД крутится кладовка? В Юконе уже есть русский полнотекстовый поиск (см. FREETEXT & CONTAINS).

А если самому делать, то не уж сложно. Только надо индексировать текст. Т.е. разбивать на слова, используя несложные правила (вырезая часто используемые слова и отсекая типовые окончания), потом сделать табличку-словарик, ну и табличку индексов. При поступлении строки запроса на поиск повторить с ней процедуру, ну и дать соотв. запрос в базу. Правда для хорошего поиска я в свое время не сумел написать статичный SQL запрос. Пришлось его клеить динамически - выходил один длинный, с подзапросами "WHERE IN" - т.е. по скорости обработки не очень оптимальный. Но искал в пределах секунды.


 
VictorT ©   (2005-08-13 21:04) [12]


>  В Юконе уже есть русский полнотекстовый поиск

В MySQL кстати, тоже, только не помню, начиная с какой версии. Счас гляну.
Тогда можно было бы сделать сортировку по релевантности, если у тебя та версия.


 
VictorT ©   (2005-08-13 21:12) [13]

По поводу полнотекстового поиска:
http://deep.webest.net/forum/reply.php?num=1.6&id=109318


 
Kerk ©   (2005-08-13 22:39) [14]

Igorek ©   (13.08.05 20:56) [11]
А на каком СУБД крутится кладовка?


MySQL

VictorT ©   (13.08.05 21:12) [13]
По поводу полнотекстового поиска:


Сейчас почитаю


 
Alexander Panov ©   (2005-08-13 22:42) [15]

Почему бы не разместить
<div style="z-index:5;position:absolute;left:660">
<form method="get" action="/index.cgi">
<input type="text" name="rid" id="rid" value="" size="20"/>
<input type=hidden name=pid value=search>
<input type="submit" value="Найти"/>
</form>

в таблице без абсолютного позиционирования?


 
Kerk ©   (2005-08-13 22:46) [16]

Alexander Panov ©   (13.08.05 22:42) [15]

Да запросто.
Только я всю голову сломал, но так и не придумал как сделать чтоб остальной контент вниз не съезжал сильно. А так.. там место есть.. ну я его и засунул туда абсолютно. :)


 
Kerk ©   (2005-08-13 22:50) [17]

VictorT ©   (13.08.05 20:54) [9]
Типа такого: <form style="margin: 0px" ...


Кнопка в IE все равно на новую строку переносится


 
VictorT ©   (2005-08-13 23:03) [18]


> Кнопка в IE все равно на новую строку переносится

А, так они в одну строку должны быть? У меня и в ИЕ и в опере переносится.
Тогда сделай так:
<input type="text" name="rid" id="rid" value="" size="20"/><input type=hidden name=pid value=search>
или так:
<input type="text" name="rid" id="rid" value="" size="20"/> <input type=hidden name=pid value=search>
В смысле, в одну строку, без пробелов.


 
VictorT ©   (2005-08-13 23:04) [19]

Блин, схавался неразрывный пробел. Второй вариант так:
<input type="text" name="rid" id="rid" value="" size="20"/>&amp; <input type=hidden name=pid value=search>


 
VictorT ©   (2005-08-13 23:05) [20]

Опять схавался.
<input type="text" name="rid" id="rid" value="" size="20"/>&amp;nbsp;<input type=hidden name=pid value=search>


 
Kerk ©   (2005-08-13 23:15) [21]

Поправил. Ничего не изменилось. :(


 
Kerk ©   (2005-08-13 23:20) [22]

Странно полнотекстовый поиск работает.

По:

SELECT COMMENT ,
MATCH (

COMMENT
)
AGAINST (
"чат Delphi"
)
FROM FILES
WHERE MATCH (

COMMENT
)
AGAINST (
"чат Delphi"
)
LIMIT 0 , 30


выдал:

Метод анализа иерархий. Писалось на 1-м курсе на Delphi 5   2.5639290809631
Рисует 3D сетку. Будет интересно начинающим работать с OpenGL в Delphi.  2.5099267959595
RomaChat EV - мини ICQ для использования внутри сети. Скомпилированного exe-шника нет. Все модули входят в Delphi 6  2.4581522941589
Программа воспроизводит отрывок Гимна Советского Союза в виде теста и мелодии через динамик РС. Это переложение СИ-версии на Delphi 7.  2.3607580661774
Исходный текст DLL которая реализует аналог API функции GetLastInputInfo, но работает и под Win9x. В архив включен заголовочный файл для Delphi.  2.3607580661774
Лабораторные работы по курсу "Объектно-ориентированное программирование" (6 шт, Delphi). Задание прилагается.  2.2988109588623


По "чат" совсем ничего не дает.


 
VictorT ©   (2005-08-13 23:27) [23]


> Поправил. Ничего не изменилось.

Тогда попробуй так:
<nobr>
<input type="text" name="rid" id="rid" value="" size="20"/>
<input type=hidden name=pid value=search>
</nobr>


 
Kerk ©   (2005-08-13 23:39) [24]

Один хрен.. блин


 
VictorT ©   (2005-08-14 00:02) [25]

Странно, что это тоже не помогло...
Тогда попробуй для дивки, в которую у тебя вложена форма, задать ширину. И не слишком маленькую, чтоб влазило.


 
Kerk ©   (2005-08-14 00:10) [26]

Вариант с <nobr></nobr> сработал.
Только я сразу не заметил.. время позднее :))


 
programania ©   (2005-08-14 02:17) [27]

>порекомендуйте что ли плиз что-нибудь.. чтоб он поумнее себя вел...

рекомендую регулярные выражения например:

вариант[а-я]*.{1,60}?поиск[а-я]*

ищет эти 2 слова с любыми окончаниями и
чтоб между ними не более 60 знаков
куда уж умнее


 
Kerk ©   (2005-08-14 15:25) [28]

programania ©   (14.08.05 2:17) [27]

И как это к MySQL прикрутить?


 
Kerk ©   (2005-08-14 20:40) [29]

Так кто-нибудь объяснит:

> Kerk ©   (13.08.05 23:20) [22]

?


 
alex-drob ©   (2005-08-15 01:05) [30]

Я тоже думаю что регулярные вырожения использовать лучше.

Можно почитать тут: http://dev.mysql.com/doc/mysql/ru/regexp.html
А вобще в нете поискать.


 
programania ©   (2005-08-15 01:20) [31]

>И как это к MySQL прикрутить?

регулярные выражения можно искать в строках полученых из MySQL,
если для всех будет долго можно сначала найти строки куда
входит любое слово из РВ как в [0]
выделить их из РВ можно тоже РВ



Страницы: 1 вся ветка

Текущий архив: 2005.09.11;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.029 c
4-1122112344
Vir
2005-07-23 13:52
2005.09.11
Hardware ID


14-1124260923
Tria
2005-08-17 10:42
2005.09.11
Уважаемые, подскажите плиз по чем нынче отдых (проживание) в Крым


14-1122933008
Mozgg
2005-08-02 01:50
2005.09.11
Кто играл в Alien Shooter?


2-1123579608
rolex
2005-08-09 13:26
2005.09.11
Во всех формах нужно объявлять DecimalSeparator?


1-1124470769
Пантелеев Иван
2005-08-19 20:59
2005.09.11
Фокус приложения