solr 搜索引擎查询】的更多相关文章

搜索引擎查询的时候://对于这些filterQuery的字段,必须是indexed="true",如果之前有这个字段后来改这个indexed属性,则需要重新建立索引,否则搜索不到SolrQuery query = new SolrQuery();query.addFilterQuery("type:0");query.addFilterQuery("guize:["+dateStr+timeStr+" TO "+dateStr…
一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/C++:现就职于一家大型国企所属电子商务公司,主要使用语言为Java,负责公司新一代搜索引擎的开发工作,故开此系列来总结自己在Lucene/Solr上的学习历程,同时,也希望能给予对搜索引擎开发有兴趣的朋友一些帮助和启发. 二.Lucene和Solr简要介绍 Lucene是apache软件基金会4 jakar…
一,准备数据库数据表结构 CREATE TABLE `app` ( `id` int(11) NOT NULL AUTO_INCREMENT, `app_name` varchar(255) NOT NULL DEFAULT '', `score` decimal(10,5) NOT NULL DEFAULT '0.00000', `downLoadNum` int(10) NOT NULL DEFAULT '0', `top` int(10) NOT NULL DEFAULT '0', `ty…
最近由于工作原因,一直忙于公司的各种项目(大部份都是基于spring cloud的微服务项目),故有一段时间没有与大家分享总结最近的技术研究成果的,其实最近我一直在不断的深入研究学习Spring.Spring Boot.Spring Cloud的各种框架原理,同时也随时关注着.NET CORE的发展情况及最新技术点,也在极客时间上订阅相关的专栏,只要下班有空我都会去认真阅读观看,纸质书箱也买了一些,总之近一年都是在通过:微信技术公众号(.NET.JAVA.算法.前端等技术方向).极客时间.技术书…
前言 solr排除查询也就是我们在数据库和程序中经常处理的不等于,solr的语法是在定语前加[-].. StringBuilder sbHtml=new StringBuilder(); shBhtml.Append("); 注意CityId前的-号就是不等于 从Solr控制台 从solr控制台看下排除查询的url, 也可以在构建url查询时自己添加筛选条件…
经过前面一段时间的努力,终于把我所知道的关于solr 的内容都总结完了.前面讲到了solr 的安装配置,web管理后台的使用,solr 的查询参数和查询语法,还说到了solr的客户端 solrnet 的基本用法和Query,Facet,高亮等实际开发中的常用方法.可以说solr的相关的基础的内容,都已经讲到了. 但是,总还是觉得,还少点什么,感觉还有很多没有总结到.比如分词,数据导入,索引增量更新,Solr服务器的主从复制等等.确实还有很多内容没有总结到位. 然而,细想之后,我又发现,对于Sol…
使用solr界面查询 {!geofilt}距离函数 star:[4 TO 5]星级排序 geodist() desc 距离排序 pt :31.221717,121.580891 sfield:location d:距离公里…
一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1-2 Tomcat安装目录 1.如图1-2所示,为Tomcat的解压目录: 图1-3 Tomcat首页 2.在目录E:\apache-tomcat-8.0.9\bin中,找到startup.bat文件,双击该文件,启动Tomcat服务器,等待几秒钟后,在浏览器中输入http://localhost:8…
今天还是不会涉及到.Net和数据库操作,主要还是总结Solr 的查询参数,还是那句话,只有先明白了solr的基础内容和查询语法,后续学习solr 的C#和数据库操作,都是水到渠成的事.这里先列出solr查询所需要的参数 wiki 地址:http://wiki.apache.org/solr/FrontPage, 里面有各个参数详细的介绍. 一.基本查询 q  查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*, fl  指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例…
搜索框里输入关键字,从mongodb里搜索出关键字相关关键字记录.用户从相关关键字里选取一个作为最后关键字从solr里查询数据. 1创建索引:从sql里goodsinfo表查所有记录,solr.AddRange();solr.Commit() 即可创建索引2客户端每次搜索一次在sql表里searchLog 记录一条记录3自动推荐:从mongodb里直接查关键字相关记录及相关商品数量:mongodb记录了关键字及商品数量(solr搜索结果量). --服务1:每天从goodsinfo表更新solr数…
提升软件性能,通常喜欢去调整各种启动参数,这没有多大意义,小伎俩. 性能优化要从架构和策略入手,才有可能得到较大的收益 Solr的查询是基于Field的,以Field为基本单元,例如一个文章站要索引 classArticle {    String title;    String content;    String tags; } 查询参数: q=title:big && content:six Solr会顺序执行两次 field查询 ,这个开销非常大. 实际例子 :50万条记录,一次…
solr facet查询及solrj 读取facet数据 | 所属分类:solr facet solrj 一.   Facet 简介 Facet 是 solr 的高级搜索功能之一 , 可以给用户提供更友好的搜索体验 . 在搜索关键字的同时, 能够按照 Facet 的字段进行分组并统计 . 二.   Facet 字段 适宜被Facet 的字段 一般代表了实体的某种公共属性 , 如商品的分类 , 商品的制造厂家 , 书籍的出版商等等 . Facet 字段的要求 Facet 的字段必须被索引 . 一般…
利用撒旦搜索引擎查询ip个数,批量下载ip,使用语言python3.x 批量测试时,为了方便直接撸下ip,所以用python写了个GUI撒旦利用工具,写的不是很好,但能用,最下面有下载. from tkinter import * import threading import shodan root=Tk() screenwidth = root.winfo_screenwidth() screenheight = root.winfo_screenheight() size = '%dx%d…
1    什么是solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中. Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引.搜索性能进行了优化. 使用Solr 进行创建索引和搜索索引的实现方法很简单,如下: * 创建索引:客户端(可以是浏览器可以是Java程序)用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的…
跟着<<Django by Example>> 一路做下来,到了搭建搜索引擎的步骤 默认的思路是用 obj.objects.filter(body__icontains='framework') 然后把得到的QuerySet 返回到模板中使用 首先要确保你的java版本在 1.7或之上 使用 java -version 查看 http://archive.apache.org/dist/lucene/solr/ 然后到这个网站里下载 Solr 这里我使用的是4.10.4(不同版本之…
前言: 原文地址: http://www.cnblogs.com/JimmyBright/p/7156069.html 使用搜索引擎,我们常规的数据查询会快很多,还可以对关键词进行中文分词查询,返回一些高亮,就和我们每天使用的搜索服务一样.我们这里要使用Solr来进行我们的搜索服务搭建.如果你使用php,很可能你会在网上查到Sphinx这个搜索引擎,说是对php支持的很好,不要迟疑,远离它,这个尼玛官网都没了,已经很多年没更新了,中文更是没办法支持,功能更是非常有限.Solr一直在更新版本,用的…
Solr 支持多种查询解析,给搜索引擎开发人员提供灵活的查询解析.Solr 中主要包含这几个查询解析器:标准查询解析器.DisMax 查询解析器,扩展 DisMax 查询解析器(eDisMax) Dismax Dismax handler比standard handler多如下功能: 以不同的权值来搜索多个field. 限制查询语法为一个小的集合并且用无语法错误.该特性是强制的并是不可配置的 整个搜索查询的自动的短语boosting 便利的查询boosting参数,通常同函数查询一块使用 能指定…
首先,在配置文件目录中添加solr 服务器的bean 配置文件 solr服务器的url可以写在配置文件中: url地址其实就是我们网页可以访问的solr地址: 然后我们写 service package com.taotao.search.service.impl; import java.util.List; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.common.SolrInputDocume…
前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Github 都在采用它. 另一个选择是Solr,同样基于Lucene,Solr比ElasticSearch早几年面世,所以相对于Elasticsearch 更成熟和稳定. ElasticSearch简介 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™…
Solr简介 采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http GSolret操作提出查找请求,并得到XML格式的返回结果 Solr…
一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索,从两张图来看看Facet用途. (图1)当进入重庆二手车列表时搜索条件会列出所有品牌.车系.价格区间.车系年贷款等等. (图2)当你点击大众时页面刷新车系会列出大众所属的所有车系.价格区间.顾名思义我虽solr facet的理解也就是:  当然,你从京东导航.淘宝导航也能看到如此效果,这样的场景下…
q:查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*,类似于sql中的where 1=1. fq(filter query):过滤查询,提供一个可选的筛选器查询.返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5]&fq=section:0,找关键字id为1 的,并且sort是1到5之间,section=0的.还能写成fq=+sort[1 TO 5] +section:0].性能方面的考虑:每个fq下面的记录都会单独缓存…
Solr的defType有dismax/edismax两种,这两种的区别,可参见:http://blog.csdn.net/duck_genuine/article/details/8060026 下面示例用于演示如下场景: 有一网站,在用户查询的结果中,需要按这样排序: VIP的付费信息需要排在免费信息的前头 点击率越高越靠前 发布时间越晚的越靠前 这样的查询排序使用普通的查询结果的Order by是做不到的,必需使用solr的defType. 做法: 1.先看schema.xml的定义: <…
1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20151001 TO 20151031] fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用. rows - 指定返回结果最多有多…
  1. 首先假设我的数据里fields有:name, tel, address 预设的搜寻是name这个字段, 如果要搜寻的数据刚好就是 name 这个字段,就不需要指定搜寻字段名称. 2. 查询规则: 如欲查询特定字段(非预设字段),请在查询词前加上该字段名称加 “:” (不包含”号) 符号, 例如: address:北京市海淀区上地软件园 tel:88xxxxx1 1>. q代表query input 2>. version代表solr版本(建议不要变动此变量) 3>. start…
在搜索过程中,如果我们每次请求中都传入很多固定的参数,会很繁琐,这里再solrconfig.xml中初始化定义一些不经常改动的搜索参数: <requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"> <str name="echoParams">explicit</str> <…
参考文档: MoreLikeThis MoreLikeThisHandler 在solr中有两种方式实现MoreLikeThis:第一种:SearchHandler中的MoreLikeThisComponent,MoreLikeThis以组件的身份出现,适于简单应用.第二种:MoreLikeThisHandler,MoreLikeThis作为一个单独的Handler来处理,可以应用过滤等较复杂操作 1.采用相似查询的field的存储方式最好采用TermVectors方式,如果field没有采用T…
一.封装的查询方法 /** * solr查询方法 * @param client solr客户端 * @param query solr查询对象 * @return list集合 * @throws SolrServerException * @throws IOException */ public static List<Map<String, Object>> getSolrQuery(HttpSolrClient client, SolrQuery query) throw…
1.技术选型,为什么用solr而不用lucene,或者其他检索工具 lucene:需要开发者自己维护索引文件,在多机环境中备份同步索引文件很是麻烦 Lucene本质上是搜索库,不是独立的应用程序.而Solr是. Lucene专注于搜索底层的建设,而Solr专注于企业应用. Lucene不负责支撑搜索服务所必须的管理,而Solr负责. 一句话概括Solr: Solr是Lucene面向企业搜索应用的扩展 其实相识的技术还有ElasticSearch,但是ES只支持json文件格式,需要靠第三方插件提…
首先需要安装jdk,前往 https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html 自行下载安装. Mac下使用homebrew安装,如果没有homebrew,请自行安装.centos下使用yum安装. brew install solr 启动solr: solr start 在浏览器中访问 http://localhost:8983,默认端口是8983.   出现如下界面表示Sol…