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. ThreadLocal讲解

    一.前言 ThreadLocal这个对象就是为多线程而生的,没有了多线程ThreadLocal就没有存在的必要了.可以将任何你想在每个线程独享的对象放置其中,并在任何时候取出来. 二.基本用法 Thr ...

  2. 【论文解读】行人检测:What Can Help Pedestrian Detection?(CVPR'17)

    前言 本篇文章出自CVPR2017,四名作者为Tsinghua University,Peking University, 外加两名来自Megvii(旷视科技)的大佬. 文章中对能够帮助行人检测的ex ...

  3. ScrollView在布局中的作用

    ScrollView就是滚动一个View,将View里面的内容滚动起来. 但是由于scroolview只能有一个孩子,因此我们可以在ScrollView中在定义一个布局. 这样的话,我们就会直接滚动整 ...

  4. Hadoop storm大数据分析 知识体系结构

    最近工作工作有用到hadoop 和storm,最近看到一个网站上例句的hadoop 和storm的知识体系.所以列出来供大家了解和学习.来自哪个网站就不写了以免以为我做广告额. 目录结构知识点还是挺全 ...

  5. C语言指针和操作系统的逻辑地址

    你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前进程数据段的地址,不和绝对物理地址相干.只有在Intel实模式下,逻辑地址才和物理地址相等 ...

  6. java安全性-引用-分层-解耦

    Java不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用 "特洛伊"木马等欺骗手段访问对象的私有成员 访问一个对象必须通过这个对象的引用 java ...

  7. day27 python学习 logging

    logging模块 函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging ...

  8. StreamSets 多线程 Pipelines

    以下为官方文档: Multithreaded Pipeline Overview A multithreaded pipeline is a pipeline with an origin that ...

  9. php利用curl获取网页title内容

    /**$html = curl_get_file_contents($url); $title = get_title_contents($html); var_dump($title);*/ fun ...

  10. 【转】每天一个linux命令(22):find 命令的参数详解

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/16/2773289.html find一些常用参数的一些常用实例和一些具体用法和注意事项. 1.使 ...