Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Интелектуальный поиск

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
TroL
Отправлено: 24 Июня, 2014 - 09:00:12
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Я задумал написать поиск. Может где и есть статья про это но я не нашел.

Например строка поиска "1 комнатная квартира в новокузнецке"

Получается мы ищем КВАРТИРУ а эта категория жилой недвижимости
Город НОВОКУЗНЕЦК
Количество комнат 1

А может быть и "комната в Новосибирске снять" или "Новостройки в москве" но и другие пользовательские запросы

Это идет взамен фильтра. Как реализовать такой поиск?
 
 Top
LIME
Отправлено: 24 Июня, 2014 - 09:21:57
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Zuldek
Отправлено: 24 Июня, 2014 - 09:32:55
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




TroL пишет:
Как реализовать такой поиск?

Строго говоря, чтобы отобразить релевантные результаты по запросу "1 комнатная квартира в новокузнецке", ваша база данных должна содержать следиующие данные по объектам:

1. Тип недвижимости (квартира)
2. Количество комнат (1)
3. Геозона (Новокузнецк)
4. Тип сделки (снять, купить, сдать и проч.)

Далее путём выбора фильтров или ввода текста для поиска (первый вариант удобнее и для пользователя и для разработчика) формируете запрос к вашей пс. Если все же будете использовать текстовое поле вместо фильтров, то применение Sphinxa (которого вам порекомендовал Lime) и аналогов будет целесообразным. В этом случае нужно будет правильно настроить индексы и скормить сфинксу базу, чтобы индексы содержали приближенные к поисковым фразам значения. Также потребуется тонко настроить синонимы в файле конфигурации.
Если же поиск недвижимости ведётся по фильтрам (а он и должен таким быть), то можно обойтись sql-запросом к базе данных (пример — http://realty[dot]sarbc[dot]ru )

(Отредактировано автором: 24 Июня, 2014 - 09:35:37)

 
 Top
TroL
Отправлено: 24 Июня, 2014 - 09:48:58
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Zuldek пишет:
TroL пишет:
Как реализовать такой поиск?


Если же поиск недвижимости ведётся по фильтрам (а он и должен таким быть), то можно обойтись sql-запросом к базе данных (пример — http://realty[dot]sarbc[dot]ru )


Мне нужно именно через поисковую строку, фильтр уже организован
(Добавление)
LIME пишет:
например http://habrahabr.ru/post/132118/

Интересно, но это же модуль к апачу или что то такое?
Это мне не подходит, хотелось бы написать ядро самому.
Какие принципы использовать для этого надо?
 
 Top
LIME
Отправлено: 24 Июня, 2014 - 09:59:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




TroL пишет:
но это же модуль к апачу или что то такое
Zuldek пишет:
применение Sphinxa (которого вам порекомендовал Lime) и аналогов будет целесообразным
это поисковый сервер
умеющий взаимодействовать с разными источниками данных среди которых и Mysql
есть другие
этот наверное наиболее описан в статьях
TroL пишет:
Это мне не подходит, хотелось бы написать ядро самому.
А?! а...нюню
в добрый путь
Цитата:
Пёсик для бешеной собаки семь верст не крюк

(Отредактировано автором: 24 Июня, 2014 - 10:05:50)

 
 Top
TroL
Отправлено: 24 Июня, 2014 - 10:16:27
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




LIME пишет:

TroL пишет:
Это мне не подходит, хотелось бы написать ядро самому.
А?! а...нюню
в добрый путь

У менянет возможности устанавливать такие сервера, для этого требуется же доступ к файловой системе
(Добавление)
Вот есть стандартная задумка
разбить строку на массивы

найти например элемент города, путем перебора и регулярки ( с регулярками у меня проблемы)

Найти так же числительные которые будут искать номер дома, количество комнат или даже площадь

и в таком духе
 
 Top
LIME
Отправлено: 24 Июня, 2014 - 10:20:36
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




даже не знаю бывают ли на хостингах такие вещи но ты хоть узнай сначала
(Добавление)
TroL пишет:
и в таком духе
а так же все склонения, спряжения, однокоренные слова и в таком духе
(Добавление)
а да...синонимы еще))
 
 Top
TroL
Отправлено: 24 Июня, 2014 - 10:23:23
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




LIME пишет:
даже не знаю бывают ли на хостингах такие вещи но ты хоть узнай сначала
(Добавление)
НУ если других возможностей не найдет покараю туда, или откажемся от такого поиска


TroL пишет:
и в таком духе
а так же все склонения, спряжения, однокоренные слова и в таком духе


Но можно же искать и по корню
(Добавление)
А как сделать поиск слова из массива с возможностью ошибки в слове
например поровнять слова квАртира и квОртира и квартирИа.
 
 Top
Zuldek
Отправлено: 24 Июня, 2014 - 10:50:48
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Что вы привязались именно к сфинксу то?
Есть и php-реализации поисковых движков.
Zend_Lucene возьмите. Это php-реализация проекта Apache Lucene project. Вероятно получится обойти ограничения хостинга связанные с установкой Sphinx и ему подобных демонов на сервер хостера.
Изучите как работает и пишите свой велосипед если так хочется.
TroL пишет:
Но можно же искать и по корню
(Добавление)
А как сделать поиск слова из массива с возможностью ошибки в слове
например поровнять слова квАртира и квОртира и квартирИа.

Возможно в процессе изучения кода поймете, почему ваши поиски по массивам и т.п. верхушка айсберга подобных систем.

Хоть и конкретно для вашей задачи мне совершенно непонятна необходимость городить огород если поиск по фильтрам уже реализован.

(Отредактировано автором: 24 Июня, 2014 - 11:08:35)

 
 Top
TroL
Отправлено: 24 Июня, 2014 - 10:53:50
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Zuldek пишет:
Что вы привязались именно к сфинксу то?
Есть и php-реализации пс.
Zend_Lucene возьмите. Это php-реализация проекта Apache Lucene project. Изучите как работает и пишите свой велосипед если так хочется.
Хоть и конкретно для вашей задачи мне совершенно непонятна необходимость городить огород если поиск по фильтрам уже реализован.



Потому что фильтр находится внутри определенной категории. А с главной страницы или тестовой неплохо бы тоже как то искать, потому что это фильтр будет еще и по новостям и по текстовым страницам

А вообще я исполнитель проекта, так что не мне это надо.
 
 Top
Zuldek
Отправлено: 24 Июня, 2014 - 11:00:30
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




TroL пишет:
Потому что фильтр находится внутри определенной категории. А с главной страницы или тестовой неплохо бы тоже как то искать, потому что это фильтр будет еще и по новостям и по текстовым страницам

А вообще я исполнитель проекта, так что не мне это надо.

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

Реализация же универсального поискового движка у вас будет очень увлекательным занятияем, потому что будете писать маленьки яндекс.
Через недели мытарств вы прийдете к тому, что ваша система не сможет формировать нормальные индексы на основе БД и вам придётся либо скармливать ей веб-страницы целиком (некоторые вполне способны их кушать, а не способны, так можно отдать контент и из базы), либо формировать отдельные запросы к бд для каждого типа контента (объявления, статьи, новости) чтобы сформировать нормальные индексы (почему, надеюсь, понятно).
На последнем варианте реализации вы, скорее всего и остановитесь, на базе Zend_Search_Lucene или Sphinx

(Отредактировано автором: 24 Июня, 2014 - 11:07:49)

 
 Top
TroL
Отправлено: 24 Июня, 2014 - 11:08:58
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Я в общем то и собираюсь по последнему варианту работать.
Как я говорил что обычный поиск по статьям написать будет не проблема

вот каким путем создать поиск по каталогу это беда
(Добавление)
помогите мне с этим вопросом пожалуйста
http://forum.php.su/topic.php?fo...4&topic=2574
 
 Top
Zuldek
Отправлено: 24 Июня, 2014 - 11:23:20
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Понимаете, пс не ищет так, как вы предполагаете.
Я дал вам пример популярного поискового движка написанного на Php почитайте как он устроен, как формирует поисковый индекс, как выглядит поисковый индекс и проч. Пока же вы пытаетесь построить деревянный небоскрёб и просите чтобы вам с этим помогли.

(Отредактировано автором: 24 Июня, 2014 - 11:25:52)

 
 Top
TroL
Отправлено: 24 Июня, 2014 - 11:43:56
Post Id


Гость


Покинул форум
Сообщений всего: 73
Дата рег-ции: Нояб. 2012  


Помог: 0 раз(а)




Zuldek пишет:
Понимаете, пс не ищет так, как вы предполагаете.
Я дал вам пример популярного поискового движка написанного на Php почитайте как он устроен, как формирует поисковый индекс, как выглядит поисковый индекс и проч. Пока же вы пытаетесь построить деревянный небоскрёб и просите чтобы вам с этим помогли.

Деревянный небоскреб тоже не плохо. А статьи я обязательно на досуге почитаю. сегодня ищу кустарные способы
 
 Top
LIME
Отправлено: 24 Июня, 2014 - 11:51:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB