Categories

Checkio.ORG

Subscribe to Posts

Email:

  • 02Apr


    Мои результаты мне давно известны,
    я только не знаю, как я к ним приду.
    К. Гаусс

    У меня плохая память, я конечно над ней работаю, но все же она плохая. Вообще все говорят, что это отличная отмазка, и снятие любой ответственности. По сути да, отмазка конечно супер, но отвечать все равно приедается. Собственно одна из причин того, что я завел этот блог и есть моя плохая память, т.к. до многих вещей необходимо доходить по нескольку раз. Пока ты просто не возьмёшь это и где то не запишеш. Главное не забывать в нем писать :)

    Доделал один сайт, и поиск к нему решил прикрутить не стандартный фуллтекст индекс из PostgreSQL а прицепить сюды енджин сторонний. Выбор мой остановился на Shinx ( сразу скажу, я не проводил углублённых анализов, на тему какой же движок заюзать. Это не надо пока. ) . Да, и есть маленькое затруднение в поиске инфы — я когда гуглил, то все время переципался через генератор документации для питона, с таким же названием.

    Так. От слов к делу.

    на форуме у них нашёл описание настройки под Debian. Так что ниже кратко:

    1. adduser –system –home /var/sphinx –uid 999 –disabled-password –disabled-login sphinx
    2.  
    3. mkdir /var/shpinx/bin
    4. mkdir /var/shpinx/etc
    5. mkdir /var/shpinx/log
    6. mkdir /var/shpinx/lib
    7. mkdir /var/shpinx/run
    8.  
    9. cd /tmp
    10. wget http://sphinxsearch.com/downloads/sphinx-0.9.7-rc2.tar.gz
    11. tar -xzvf sphinx-0.9.7-rc2.tar.gz
    12. cd sphinx-0.9.7-rc2
    13. ./configure –with-pgsql –with-pgsql-includes=/usr/include/postgresql/ –with-pgsql-lib=/usr/lib/postgresql/8.3/lib/
    14. make
    15.  
    16. wget http://www.klaus.gr/pub/sphinx
    17. mv sphinx /etc/init.d/
    18. chmod 755 /etc/init.d/sphinx
    19. ln -s /etc/init.d/sphinx /etc/rc2.d/S92sphinx
    20. chown -R sphinx /var/sphinx
    21. chmod -R 711 /var/sphinx/
    22. cd /var/spinx/etc
    23. cp -p sphinx.conf.dist sphinx.conf
    24. vim sphinx.conf

    Далее в секции searchd должно быть:

    1. pid_file = /var/sphinx/run/searchd.pid
    2. query_log = /var/sphinx/log/query.log
    3. log = /var/sphinx/log/searchd.log
    4. address = 127.0.0.1

    В секции index:

    1. path = /var/sphinx/lib/sphinx

    И запуск

    1. /etc/init.d/sphinx start

    На этом месте должен уже работать демон.

    Вот скрипт пепеиндексирования всех индексов

    1. /var/sphinx/bin/indexer –all –rotate –config /var/sphinx/etc/sphinx.conf

    Далее добавляем свой индекс:

    1. source board_posts
    2. {
    3.     type                = pgsql
    4.     sql_host            = 127.0.0.1
    5.     sql_user            = oduvan
    6.     sql_pass            = gravicapa
    7.     sql_db              = eliteboard
    8.     sql_port            =
    9.     sql_query_pre       =
    10.     sql_query_post      =
    11.     sql_query           = \
    12.         SELECT id, title, text, tags, location, to_contact, how_contact, owner_id, count_files_other, count_files_images, create_time FROM board_posts
    13.     sql_query_info      = SELECT * FROM `board_posts` WHERE `id` = $id
    14.     # ForeignKey's
    15.     sql_attr_uint       = owner_id
    16.     # DateField's and DateTimeField's
    17.     sql_attr_timestamp   = create_time
    18. }
    19.  
    20.  
    21. index board_posts
    22. {
    23.     source          = board_posts
    24.     path            = /var/sphinx/data/board_posts
    25.     docinfo         = extern
    26.     morphology      = none
    27.     stopwords       =
    28.     min_word_len    = 2
    29.     min_prefix_len  = 0
    30.     min_infix_len   = 0
    31.     charset_type    = utf-8
    32. }

    после этого создаем папку /var/sphinx/data/, переиндексируем, разрешим демону пользоваться нашими файлами

    1. chown -R sphinx /var/sphinx

    и передерним демона:

    1. /etc/init.d/sphinx restart

    Теперь надо рассказать джанге, как им надо пользоваться. Инсталим django-sphinx

    1. cd /tmp
    2. svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sphinx
    3. cd django-sphinx
    4. sudo python setup.py install

    я ставил 0.9.8, так что в settings.py вашего проекта прописываем :

    SPHINX_API_VERSION = 0×113

    в моделе, по которой вы хотите вести поиск привязываем свойство, с указанием весов полей.

    1. class MyModel(models.Model):
    2.  search = SphinxSearch('board_posts',weights={
    3.                     'title': 100,
    4.                     'tags': 80,
    5.                     'description': 40,
    6.                 })

    Вот и все. Последнее — это выполнить поиск:

    1. queryset = MyModel.search.query('query')

    Вот так кратко, сухо, критикуйте!

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , , , , , ,

  • 23Sep

    В наш Век Информационных Технологий – просто невозможно знать все, невозможно успевать за растущим потоком информации. Поэтому выигрывает тот, кто может быстро найти необходимую на данный момент информацию. Нет никакого сомнения, что лидером в этом является Google. Я не буду про него рассказывать, все мы и так знаем, на сколько он огромен, функционален, популярен. Но тем немения он остается инструментом, котором тоже можно пользоваться неправильно. В данной статье я расскажу некоторых дополнительных возможностях поисковой строки гугла

    Дополнительные “операторы”:

    • Поиск точной фразы – гугл выдал вам только результаты, в которых участвует только эта фраза целиком. То необходимо взять ее в кавычки. Например: “обыкновенный серый кролик”
    • Исключить слово – гугл исключит слово в результатах указанное после «-». Например: “обыкновенный серый кролик” –любимец
    • Синоним – гугг может включить в поиск синоним, т.е. если вы укажите после «~» слово, то гугл в поиск включит это слово и похожие на него, Например: линукс ~профессионал
    • Звездочка – Заменяется одним или несколькими словами. Например: red * blue .
    • Это или То – когда вы не уверены, когда в поиск вы хотите включить два равновесных в результатах слова и взаимозаменяемых. Для этого используется ключевое слово OR, которое обязательно должно быть написано большими буквами, также можно просто использовать ||. Например: perl обучение OR курсы

    • Цифры в области – когда вы хотите в результаты включить цифры из области. Например: Чайник 100..500 грн

    Дополнительные возможности.

    Есть некоторые ключевые слова, указываемые после “:”, и испоьзуемые для ограничения круга поиска.

    • Определение слова – например, когда вам необходимо дать быстро точное определение какого либо слова. Например: define:google
    • Ограничить поиск по сайту – используется, если вы хотите искать только на этом сайте. Это может помочь при поиске на блогах либо форумах, на которых он изночально не предусмотрен, либо не корректно реализован. Например: python site:www.lyabah.com
    • Фраза в урле – вы хотите ограничить результаты, так чтоб в ссылках было слово. Наример: python inurl:lyabah.com
    • Фраза в титле страници – вы хотите ограничить поиски только по титлам самой страници. Например: Кошки intitle:звери
    • Похожие сайты – Если вы ищите сайты похожие на данный. Например: related:www.yandex.ru
    • Кто ссылается на вас – Увидеть сайты, в которых есть ссылки на вас. Например: link:www.google.ru
    • Файлы определенного формата – если вы хотите ограничить поиск только файлами определенного формата. Например: linux filetype:pdf

    Примеры использования

    Вот несколько примеров как используются ключевые слова и операторы вместе в поисковых запросах:

    • keyword keyword keyword (inurl:resume | intitle:resume)
    • keyword keyword keyword ~resume (me | my) -~job
    • keyword keyword keyword (ext:pdf | ext:doc | ext:rtf) ~resume -~jobs.
    • keyword keyword keyword ~resume -ext:htm -ext:html -~jobs
    • keyword (intitle:favorites | intitle:bookmarks | inurl:favorites | inurl:bookmarks)
    • site:@livejournal.com [в результатах все поддомены livejournal.com]

    Сервисы

    И как извесно кроме поиска у гугла есть еще масса интересных сервисов:

    • finance.google.com – Новости финансов, курсы акций и еще очень много непонятных мне фикч, но, думается, человеку знающему это может быть полезно. В поисковой строке можно ввести например GOOG, и первая ссылка будет это курс акций гугла
    • Калькулятор - если вы, в поисковой строке введете 2*2, либо любое другое арифметическое выражение, то гугл выдаст вам результат. Калькулятор может помочь при конвертировании ед. измерения 72m in cm или 1 meter= ?inches. Конвертировать валюты 72USD in UAH
    • Каталог сайтов
    • Патенты - поиск по потентам, очень прикольно
    • Книги - гугловский поиск книг, по его собственной базе
    • Официальный русский блог
    • Помоему пока только для россиян запустили проект киноафиша
    • ЕЩЕ - список самых популярных и интенсивно развивающихся сервисов гугла

    Дополнительные ссылки по теме:

    ПС:
    на вики опубликован список всех доступных у гугла сервисов

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • Twitter
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Tags: , , ,

   

Recent Posts

Recent Comments

  • Благодарю, начал изучать fabric с вашей статьи....
  • Идея действительно отличная и очень радует то, что подобн...
  • Спасибо...
  • Там четыре круглых кнопочки. Подразумевается, что каждая ...
  • А в чем заключатеся неправильна работа?...