如果您以前使用过true.com,那么您可能会知道,对于所寻找的关键字,只要屏幕左侧有多个搜索优化选项,它就会返回传统的搜索结果.

例如,搜索关键字“ designer”,优化选项为:

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技术来创建此类功能?还是网上有手册解释了背后的技术?


解决方法:

的确,Indeed.com和其他搜索引擎中使用的技术称为inverted indexing,这是搜索引擎(例如Google)工作方式的核心.您引用的过滤条件(“优化选项”)称为构面.

您可以使用Apache Solr,这是使用Lucene构建的成熟的搜索服务器,并可以使用其RESTful API轻松集成到您的应用程序中.开箱即用,具有多种功能,例如构面,缓存,缩放,拼写检查等.Netflix,C-Net,AOL等多个网站也使用-因此稳定,可扩展且易于使用-经过测试.

如果您想深入了解基于方面的筛选工作,请查阅此Bit002 / Bitarray,并在此article中进行介绍.

标签: mysql, sql, search, reverse, search-engine

相关文章推荐

添加新评论,含*的栏目为必填