http://localhost:8080/solr/test/select?fq=product_name:大有&indent=on&q=product_name:大有电钻 OR raws_title:大有电钻&rows=45&wt=json

使用q进行分别进行两个字段查询,得出的结果有很多,包括很其他品牌的商品:博世、喜利得、林君等各类品牌的“电钻”。如果需要进行精准的品牌查询,那就需要建立一个品牌词词库,也是通过slor进行code添加一套,然后在solrj进行编写逻辑,把拆词的内容到品牌词库再搜索一次,如果包含则说明用户输入了指定的品牌商品。【有空补上代码】

然后把得出来的品牌词,通过fq进行过滤筛选,得出的内容将会是该商品的所有相关品牌。

目前的情况是:有一些商品的排序太靠后面了,需求是:能否根据“电钻”的出现次数进行排序靠前处理。

整个国内对于solr的支持太少了,动不动就收费,收费给出来的结论也是大忽悠,看好了,要开始车了。

首先我们要掌握“termfreq”函数,这个是solr已实现的方法,使用如:termfreq(raws_title,*电钻*)

termfreq("字段","词频搜索的关键词"),得出的结果是:

根据这个,我们可以把这个函数放到sort进行排序。在sort中填写:termfreq(raws_title,*电钻*) desc

如图,这样就实现了solr根据搜索关键词的词频或出现次数进行排序了。

【注意】我们可以根据这个原理进行复杂的得分计算,例如product_name出现“电钻”得分会更高,可以结合Solr的函数查询(FunctionQuery)进行实现。

例如:

product,product(x,y,...)将会返回多个函数的乘积。

格式:product(2,2)

输出结果:4

sum,这个函数的意思就显而易见啦,它就是表示“和”。

格式:sum(4,1)

输出结果:5

我们可以根据该函数实现自定义的评分:

sum(product(termfreq(product_name,*电钻*),20),termfreq(raws_title,*电钻*)) desc

结果完满展现:

题外话,在搜索过程中,需要更多的精准匹配,可以同样从“同义词”入手,等我研究出成果,再和大家一起分享。

对于solrj整合这个关键词词频排序,也是非常简单的,你们会java的应该会了吧,其实就是调用solr自身的api接口实现

solr6.3根据搜索关键词词频(关键词出现次数、关键词highlight)进行排序的更多相关文章

  1. Excel中COUNTIFS函数统计词频个数出现次数

    Excel中COUNTIFS函数统计词频个数出现次数   在Excel中经常需要实现如下需求:在某一列单元格中有不同的词语,有些词语相同,有的不同(如图1所示).需要统计Excel表格中每个词语出现的 ...

  2. spark-sql缩减版样例:获取每日top3搜索词和各自的次数,包括总次数

    //获取出每天前3的搜索词 ArrayList<String> log = new ArrayList<String>(); log.add("2015-10-01, ...

  3. 【Vue.js】基于vue的实时搜索,在结果中高亮显示关键词

    一.搜素效果如下: 二.核心 1)利用oninput属性来触发搜素功能 2)利用RegExp来对字符串来全局匹配关键字,利用replace方法来对匹配的关键字进行嵌入高亮的<span class ...

  4. 在hadoop上进行编写mapreduce程序,统计关键词在text出现次数

    mapreduce的处理过程分为2个阶段,map阶段,和reduce阶段.在要求统计指定文件里的全部单词的出现次数时. map阶段把每一个关键词写到一行上以逗号进行分隔.并初始化数量为1(同样的单词h ...

  5. solr6.6 高级搜索Facet

    1.介绍 facet分面查询是solr中以导航为目的的查询,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步实现渐进式精确搜索. 什么字段适合用facet呢?  fa ...

  6. hdu 1728 搜索求最少的转向次数

    逃离迷宫 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. 推荐召回--基于内容的召回:Content Based

    目录 1. 前言 2. 构建画像 3. 内容召回的算法 1. 前言 在之前总结过协同过滤的召回通路后,今天我们来总结下召回策略中的重头戏:基于内容的召回通路,也即我们常说的基于标签的召回.这里就要涉及 ...

  8. WordPress如何屏蔽恶意关键词搜索

    我们在用WordPress建站比较方便,但如果网站有一定的权重后,一些不怀好意的人就会过来制作恶意内容,比如故意搜索邪恶的关键词.垃圾评论等,那我们如何屏蔽恶意搜索关键词呢?不会很难,会写点代码的朋友 ...

  9. JavaScript在表格中模拟搜索多关键词搜索和筛选

    模拟搜索需要实现以下功能: 1.用户的模糊搜索不区分大小写,需要小写字母匹配同样可以匹配到该字母的大写单词. 2.多关键词模糊搜索,假设用户关键词以空格分隔,在关键词不完整的情况下仍然可以匹配到包含该 ...

随机推荐

  1. 【c++基础】accumulate

    accumulate // accumulate example #include <iostream> // std::cout #include <functional> ...

  2. Centos(linux)下的Python

    Centos(linux)下安装python3(python2和python3共存) yum -y install lrzsz 首先安装lrzsz工具,lrzsz是一款在linux里可代替ftp上传和 ...

  3. hdu 5310(贪心)

    题意:要买n个纪念品,单价p元,有团购价 m个q元,问怎样买钱最少 这个是BC周年庆第一题,水题昂,小学数学题,就是看n个纪念品单买.总体买团购然后零头买单价的.全部买团购价的多买也无所谓的,然后直接 ...

  4. Properties类与配置文件

    //加载文件public static void testLoadProperties() throws Exception { Properties properties = new Propert ...

  5. 转 微软发布TX(LINQ To Logs And Traces)

    作者 Roopesh Shenoy ,译者 马德奎 发布于 一月 09, 2014 | 微软开源技术公司于近日发布了Tx,这是一个开源项目,可以使用日志/跟踪文件辅助调试,以及创建实时监控和告警系统. ...

  6. div+css 怎么让一个小div在另一个大div里面 垂直居中

    div+css 怎么让一个小div在另一个大div里面 垂直居中 方法1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .parent {           width:800 ...

  7. nyoj 单调递增子序列(二)

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长 ...

  8. es6知识点

    扩展运算符(三个点): 将值转换为参数序列. 解构赋值:比如:var [a,b,c]=[1,2,3];

  9. JS Web的Flex弹性盒子模型

    1. justify-content <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  10. python 正则表达式的使用

    本文以例子的形势,介绍如何在python中使用正则表达式. Example1 #!/usr/bin/python import re import sys pattern = re.compile(r ...