欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搜索结果排序

程序员文章站 2022-07-12 15:01:19
...
利用开源做的搜索结果排序目前主要两种计算方式:索引时做好了score计算和查询时动态计算。各有优缺点,适合不同业务。

搜索结果排序需要考虑的点比较多,比如设定不同字段不同比率来计算score,这些字段的来源是否一致,其包含的信息多大,其如何存储。如果需要动态调整,那么其改动成本多大(人员,硬件,时间,金钱等)?如果多台机器,那么是否需要mapreduce,结果是否cache,cache更新,数据一致性。如果有预处理又该如何做。索引和搜索如何协调一致等。

比较讲究的还需要不断修改搜索结果排序算法来达到准确,快速的目的。

一般搜索满足有搜索关键词显示的,用二分分词就够了,排序用lucene自带的。
特定关键词搜索,比如产品关键词,那么建立产品关键词字典,建立反向索引足够了,速度飞快,很匹配业务。
还不确定的,垂直搜索,随便找个开源分词的,然后设定死与score相关的字段的比率就够了。


好的搜索结果排序不在于一时,而在于不断改进,一如我相信美好的东西是需要反复锻造。
相关标签: 全文搜索