Как создать в самом деле подобный поиск? - PullRequest
3 голосов
/ 05 июня 2011

Если вы уже использовали действительно.com.com, вы можете знать, что для ключевых слов, которые вы ищете, он возвращает традиционные результаты поиска, если несколько вариантов уточнения поиска находятся в левой части экрана.

ДляНапример, при поиске по ключевому слову «дизайнер» уточняются следующие варианты:

Salary Estimate
    $40,000+ (45982)
    $60,000+ (29795)
    $80,000+ (15966)
    $100,000+ (6896)
    $120,000+ (2828)
Title
    Floral Design Specialist (945)
    Hair Stylist (817)
    GRAPHIC DESIGNER (630)
    Hourly Associates/Co-managers (589)
    Web designer (584)
    more »
Company
    Kelly Services (1862)
    Unlisted Company (1133)
    CyberCoders Engineering (1058)
    Michaels Arts & Crafts (947)
    ULTA (818)
    Elance (767)
Location
    New York, NY (2960)
    San Francisco, CA (1633)
    Chicago, IL (1184)
    Houston, TX (1057)
    Seattle, WA (1025)
    more »
Job Type
    Full-time (45687)
    Part-time (2196)
    Contract (8204)
    Internship (720)
    Temporary (1093)

Как он собирает статистическую информацию так быстро (например, количество предложений работы в каждом диапазоне зарплат).Похоже, что параметры уточнения создаются в режиме реального времени, поскольку второстепенные ключевые слова загружаются слишком быстро.

Существует ли конкретный метод SQL для создания такой функции?Или в Интернете есть руководство, объясняющее технологию, стоящую за этим?

Ответы [ 3 ]

4 голосов
/ 06 июня 2011

Технология, используемая на самом деле.com и других поисковых системах, известна как инвертированная индексация , которая лежит в основе работы поисковых систем (например, Google).Фильтрация, на которую вы ссылаетесь («параметры уточнения»), называется фасетом.

Вы можете использовать Apache Solr , полноценный поисковый сервер, построенный с использованием Lucene и легко интегрируемый в ваше приложение с помощью API RESTful.Поставляется из коробки с несколькими функциями, такими как огранка, кэширование, масштабирование, проверка орфографии и т. Д. Также используется несколькими сайтами, такими как Netflix, C-Net, AOL и т. Д., Следовательно, стабильными, масштабируемыми и боевыми.испытания.

Если вы хотите углубиться в работу по фильтрации на основе фасетов, ищите Bitsets / Bitarrays и описано в этой статье .

0 голосов
/ 28 ноября 2013

В дополнение к тому, что сказал Миос и, как упоминал Даймон, он использует денормализованный магазин документов. Вот ссылка на Технический разговор Действительно о его магазине

http://engineering.indeed.com/blog/2013/03/indeedeng-from-1-to-1-billion-video/

Также еще одна связанная статья в их инженерном блоге: http://engineering.indeed.com/blog/2013/10/serving-over-1-billion-documents-per-day-with-docstore-v2/

0 голосов
/ 05 июня 2011

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

Посмотрите на Google и количество веб-страниц по всему миру - вы также думаете, что Google работает слишком быстро?

...