solr

How to find exact keywords in solr search?

若如初见. 提交于 2021-01-04 08:49:58
问题 Actually I am facing one problem in solr search. There is an author field in which I stored two value like "deep kumar-singh" and "deep kumar singh". When I search the author:"deep kumar-singh" It returns both results. But I want only one result to be the exact one. Here is my field description: <field name="author" type="text_general" indexed="true" stored="true" multiValued="true"/> I created authorFacet Field to get author facet. <field name="authorFacet" type="string_ci" indexed="true"

Solr ExtractingRequestHandler extracting “rect” in links

若如初见. 提交于 2020-12-29 13:25:07
问题 I am utilizing solr ExtractingRequestHandler to extract and index HTML content. My issue comes to the extracted links section that it produces. The extracted content returned has "rect" inserted where they do not exist in the HTML source. I have my solrconfig cell configuration as follows: <requestHandler name="/upate/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults"> <str name="lowernames">true</str> <!-- capture link hrefs but ignore div

Solr ExtractingRequestHandler extracting “rect” in links

依然范特西╮ 提交于 2020-12-29 13:23:47
问题 I am utilizing solr ExtractingRequestHandler to extract and index HTML content. My issue comes to the extracted links section that it produces. The extracted content returned has "rect" inserted where they do not exist in the HTML source. I have my solrconfig cell configuration as follows: <requestHandler name="/upate/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults"> <str name="lowernames">true</str> <!-- capture link hrefs but ignore div

solr: is there a reason why SynonymGraphFilter must come before WordDelimiterGraphFilter?

守給你的承諾、 提交于 2020-12-15 06:23:09
问题 I have this in my schema.xml : <analyzer type="query"> <tokenizer class="solr.SimplePatternSplitTokenizerFactory" pattern="[ /.,)(]+"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" preserveOriginal="1"/> <filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true"

SOLR

和自甴很熟 提交于 2020-12-13 21:40:41
搜索技术---solr solr 企业站内搜索技术选型 在一些大型门户网站、电子商务网站等都需要站内搜索功能,使用传统的数据库查询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度要快、搜索结果按相关度排序、搜索内容格式不固定等,这里就需要使用全文检索技术实现搜索功能。 单独使用 Lucene 实现 单独使用Lucene实现站内搜索需要开发的工作量较大,主要表现在:索引维护、索引性能优化、搜索性能优化等,因此不建议采用。 使用 Google 或 Baidu 接口 通过第三方搜索引擎提供的接口实现站内搜索,这样和第三方引擎系统依赖紧密,不方便扩展,不建议采用。 使用 Solr 实现 基于Solr实现站内搜索扩展性较好并且可以减少程序员的工作量,因为Solr提供了较为完备的搜索引擎解决方案,因此在门户、论坛等系统中常用此方案。 什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化 Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除

Docker persisted volum has no permissions (Apache Solr)

旧时模样 提交于 2020-12-13 09:31:11
问题 My docker-compose.yml : solr: image: solr:8.6.2 container_name: myproject-solr ports: - "8983:8983" volumes: - ./data/solr:/var/solr/data networks: static-network: ipv4_address: 172.20.1.42 After bringing up the docker with docker-compose up -d --build , the solr container is down and the log ( docker logs myproject-solr ) shows this: Copying solr.xml cp: cannot create regular file '/var/solr/data/solr.xml': Permission denied I've noticed that if I give full permissions on my machine to the

solr研磨之游标分页

旧巷老猫 提交于 2020-12-12 21:21:12
作者:战斗民族就是干 转载请注明地址:http://www.cnblogs.com/prayers/p/8986498.html    普通分页   当需要深度分页的时候,比如查询第10000页数据,每页显示10条,意味着需要提取前10000 x 10 页的数据,并将这100000条数据缓存在内存中,然后在内存中进行排序。最后返回最后10条即用户想要的第100000页数据。   缺点:   1、首先需要在内存缓存100000条数据需要占用大量的内存   2、并且在内存中对100000条数据进行排序也非常消耗CPU   因此普通分页方式比较适合返回TOPN条数据,翻页越翻到后面,分页查询性能越差,即使你开启了resultQueryCache Cursor分页    Solr中的游标是一个逻辑概念,它不会在服务器上存储任何信息,而是返回一个下一页数据起始位置”Mark”标记值给用户,该标记表示着当前分页起始位置在查询匹配的整个索引结果集中的绝对索引位置。   想要在Solr中使用游标,你需要指定一个cursorMark参数比如:cursorMark=*,你可以理解为它跟start=0类似。 然后此时Solr除了会返回一个TopN的结果集,同时还附带返回一个nextCursorMark值,

Solr Deep Paging(solr 深分页)

社会主义新天地 提交于 2020-12-12 20:37:58
转载请出自出处: http://eksliang.iteye.com/blog/2148370 作者:eksliang(ickes) blg: http://eksliang.iteye.com/ 概述 长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr4.7引入了游标才解决这个问题。 问题 深分页的问题是很清楚。Solr必须为返回的搜索结果准备一个列表,并返回它的一部分。如果该部分来源于该列表的前面并不难。但如果我们想返回第10000页(每页20条记录)的数据,Solr需要准备一个包含大小为200000(10000 * 20)的列表。这样,它不仅需要时间,还需要内存。像我们现在生产上的历史数据达到了6个亿的数据,如果直接跳转到最后一页,必定内存溢出。 solr4.7是怎么解决这个问题的? 答:Solr 4.7的发布改变了这一状况,引入了游标的概念。游标是一个动态结构,不需要存储在服务器上。游标包含了查询的结果的偏移量,因此,Solr的不再需要每次从头开始遍历结果直到我们想要的记录,游标的功能可以大幅提升深翻页的性能。 用法 游标的使用非常简单。在第一个查询中,我们需要传递一个额外的参数- cursorMark = *

京东T7团队技术4面:线程池+索引+Spring +分布式锁+Mysql+项目等

可紊 提交于 2020-12-09 16:43:05
前言: 金九银十过了金三银四还会远嘛,本文后面分享面试题给正准备跳槽,准备找工作的你,这次面试京东也是做了很多的准备,还好顺利拿到了offer。 面试,其实是一个双向选择的过程,在这个过程里,我们不应该抱着畏惧的心态去对待,这样反而会影响自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。希望大家都能找到适合自己的公司,开开心心的撸代码。 进入正题 京东一面(一个小时): Java容器有哪些?哪些是同步容器,哪些是并发容器? 线程池的工作原理,几个重要参数? 给了具体几个参数,分析线程池会怎么做? ArrayList和LinkedList的插入和访问的时间复杂度? HashMap push方法的执行过程? java反射原理, 注解原理? 说说一致性 Hash 原理 HashMap在什么情况下会扩容,或者有哪些操作会导致扩容? HashMap检测到hash冲突后,将元素插入在链表的末尾还是开头? 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的? https和http区别,有没有用过其他安全传输手段? 新生代分为几个区?使用什么算法进行垃圾回收?为什么使用这个算法? 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么? 代码编写:两个线程,一个线程打印奇数

【Solr】solr-4.10.3配置业务域

寵の児 提交于 2020-12-08 01:59:18
前言 要想把数据放入solr中,首先要有对应的域,域是先定义后使用的。 配置中文分析器 (1)下载IK Analyzer 2012FF_hf1中文分析器。 下载地址 (2)进入到IK Analyzer 2012FF_hf1目录,将IKAnalyzer2012FF_u1.jar复制到/tomcat/webapps/solr-4.10.3/WEB-INF/lib/下,将ext_stopword.dic、IKAnalyzer.cfg.xml、mydict.dic复制到/tomcat/webapps/solr-4.10.3/WEB-INF/classes/目录下。 配置/solrhome/collection1/conf/schema.xml (1)配置filed-type来指定数据类型使用该中文分析器进行分词。 (2)设置业务域。id域默认使用数据id,并配置业务域的分析器使用配置好的中文分析器。 总结 solr业务域配置完成,可以实现数据的导入并查询了。 来源: oschina 链接: https://my.oschina.net/u/4364052/blog/4779092