首页
学习
活动
专区
圈层
工具
发布

在Solr中搜索人名的小建议

搜索人名是我们在许多应用程序中经常用到的功能。比如对书店来说,按作者名检索的功能就相当重要。虽然很难起一个完美的名字,但是我们可以使用Solr的一些功能,使绝大多数英文名搜索达到绝佳的效果。...缩写形式 当用户搜索Doug Turnbull时,所有Solr已编索引得出的结果都是Douglas Turnbull怎么办?...] [dougl] [dougla] [douglas] 有关此过滤器(以及Solr中的许多其他过滤器)需要注意的是,每个生成的标记最终在索引文档中占据相同的位置。...结果将出现索引名称Douglas G. Turnbull出现的每一处(以及有David G. Turnbull的地方)! 结合 好的,进入下一环节。现在用户在搜索框中输入“Turnbull,D.”。...所以,在你的Solr之旅中还有一些有趣的谜题!如果你想要解决这些问题,一定要查看我们的Solr培训! 来分享您的意见吧!希望这篇文章能帮助你开始建立一个合理的人名搜索系统。您过去是否遇到过此类问题?

3.4K120

在ssh中利用Solr服务建立的界面化站内搜索---solr2

上期回顾:上次主要是介绍了solrj,通过solrj的api与solr服务器进行通信,获取服务器上的索引数据以及在编写程序中遇到的一些问题和解决方法。...本期主要是建立与solr服务器的通信,提供搜索界面输入关键字或搜索规则,根据关键字或规则到索引数据中寻找匹配项并返回结果到界面上。    ...1.本篇的前提是你已经配置好nutch以及solr,并通过网页爬取将索引数据存放到了solr服务器中(solr可以可以部署到tomcat的下也可以不部署,另外我的所有搭建都是在Ubuntu环境下),我配置了中文分词器...true" indexed="true"/> //添加查询规则以及是否高亮的设置以及结果的返回与接收...jsp页面中接收list集合和传过去的counts(搜索结果个数),time(搜索耗时)并相应的调整界面布局即可,效果如下: 111914303735648.jpg      至此一个搜索引擎做的算是有点模样了

1K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Google搜索结果中显示你网站的作者信息

    前几天在卢松松那里看到关于在Google搜索结果中显示作者信息的介绍,站长也亲自试了一下,目前已经成功。也和大家分享一下吧。...如果您希望您的作者信息出现在自己所创建内容的搜索结果中,那么您需要拥有 Google+ 个人资料,并使用醒目美观的头像作为个人资料照片。...然后,您可以使用以下任意一种方法将内容的作者信息与自己的个人资料关联,以便进行验证。Google 不保证一定会在 Google 网页搜索或 Google 新闻结果中显示作者信息。...向您刚更新过的网站添加可返回您个人资料的双向链接。 修改以下网站的撰稿者部分。 在显示的对话框中点击添加自定义链接,然后输入网站网址。...要了解 Google 能够从您的网页提取哪些作者数据,可以使用结构化数据测试工具。 以上方法来自 Google搜索结果中的作者信息 站长使用的是 方法2,操作完以后,4天才显示作者信息。

    4.4K10

    常见问题之Golang——在Go中返回的中文文本中包含菱形问号乱码

    常见问题之Golang——在Go中返回的中文文本中包含菱形问号乱码 背景 日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家...,让其还在深坑中的小伙伴有绳索能爬出来。...同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。...开发环境 系统:windows10 语言:Golang golang版本:1.18 内容 错误 在Go中返回的文本中包含菱形问号乱码 这是一个��测试������文本 造成原因: byte转中文时出现多余的...byte没有有效解析为中文导致 解决方案: str := "这是一个测试文本" str2 := []rune(str) fmt.Println(string(str2[:])) // 进行处理后的结果

    2K20

    Web-第二十八天 Lucene&solr使用一【悟空教程】

    使用索引搜索对象,执行搜索,返回结果集TopDocs // 第一个参数:搜索对象,第二个参数:返回的数据条数,指定查询结果最顶部的n条数据返回 TopDocs topDocs = searcher.search...什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开。...中文“我爱中国”就不一样了,电脑不知道“中国”是一个词语还是“爱中”是一个词语。 把中文的句子切分成有意义的词,就是中文分词,也称切词。我爱中国,分词的结果是:我、爱、中国。 5.3.2....searcher = new IndexSearcher(reader); // 使用索引搜索对象,执行搜索,返回结果集TopDocs // 第一个参数:搜索对象,第二个参数:返回的数据条数,指定查询结果最顶部的...l 搜索索引:客户端(可以是浏览器可以是Java程序)用 GET方法向 Solr 服务器发送请求,然后对 Solr服务器返回Xml、json等格式的查询结果进行解析。Solr不提供构建页面UI的功能。

    1.6K10

    solr索引基本原理

    去索引库中对刚刚创建的索引进行检索)来找到用户想要得到的数据,并将数据集返回给用户。...最后留下的结果为:“Students”,“should”,“allowed”,“go”,“out”。 注意:可以看出我们在对solr进行搜索的时候应该尽量避免使用符号或者停顿词作为检索关键词。...因为在索引中,”driving”,”drove”,”driven”都会经过语言处理而变成”drive”,在搜索时,如果您输入”driving”,输入的查询语句同样经过分词组件和语言处理组件处理的步骤,变为查询...当用户的检索关键词进入solr后,solr会对传入的关键词进行处理,具体处理过程类似创建索引时语言处理组件对文档词汇的处理过程。 将处理后的词在词典中搜索得到一个文档集。...将结果集返回给用户。

    1.5K10

    LuceneSolrElasticSearch搜索问题案例分析

    B包含,如果说搜索B,搜不到A到还可以接受,因为 在关键词越长的情况下,term之间是AND的关系,这样返回结果集就越少,这一点从Google或者其他电商的搜索都可以得到测试确认, 看到这种问题,...一般情况下,都跟分词有关系,然后拿到Solr中, 先使用IK最细粒度分词测试两个关键词的分词结果如下: 再使用Ansj索引分词测试两个关键词的分词结果如下: 从上面可以看出差异,A里面有个完整的...这时才会发现无论你怎么改,都有引发一些新的问题,所以搜索引擎对中文检索来说,如果能保证90%的搜索效果是最优的, 就已经是非常不错的结果了,下面接着谈: 既然AND+OR+修改词库的方式,都不太理想...同义词映射应用在精确查询的字段上,没有啥问题,但现在要求映射在分词字段上,而且,有限公司和有限责任公司并不是不可再分的 属性了,他们还可以切分更细粒度的关键词,我们在solr中,看下他们的分词效果:...(2)进行数据归一化处理,我们知道在英文搜索中,一个单词可能有单数形式,复数形式,现在时,过去时等等等等,搜索引擎不关注你的七十二变, 只需要归一化到最原始的状态,然后索引起来,在搜索时候同样归一化,

    85940

    全文搜索引擎Solr原理和实战教程

    用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。...高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等. · 高级的全文搜索功能...查询通过创建一个包含所有查询参数的URL来执行。Solr检查请求URL,执行查询并返回结果。...通常我们要做一下处理: a.我们现在有的是文章内容,即一个字符串,我们先要找出字符串中的所有单词,即分词。英文单词由于用空格分隔,比较好处理。中文单词间是连在一起的需要特殊的分词处理。...下面我们可以通过对该索引的查询来解释一下为什么要建立索引。 假设要查询单词 “live”,lucene先对词典二元查找、找到该词,通过指向频率文件的指针读出所有文章号,然后返回结果。

    4.1K10

    全文搜索引擎技术详解之Apache Solr的使用

    Solr Solr是一个可扩展的,可部署,搜索,存储引擎,优化搜索大量以文本为中心的数据库 Solr是开源搜索平台,用于构建搜索应用程序 建立在Lucene(全文搜索引擎)之上 Solr是企业级的,...有助于在网上定位信息 用户可以通过以关键字或短语的形式将查询传递到搜索引擎中来搜索信息,然后搜索引擎搜索其数据库并向用户返回相关链接 搜索引擎组件 搜索引擎有三个组件: Web爬虫: 一个收集网络信息的软件组件....索引类似于在书开始页或末尾处的目录索引,其中常见单词以页码显示,使得这些单词可以快速追踪,而不是搜索整本书 用于搜索的用户接口: 当索引数据库就绪,应用程序就可以执行搜索操作.为了帮助用户进行搜索,应用必须提供用户接口...渲染结果: 当收到所需结果,应用程序应决定如何使用用户界面向用户显示搜索结果 分词技术 分词技术: 搜索引擎针对用户提交查询的关键词串进行的查询处理后,根据用户的关键词串用各种匹配方法进行分词的一种技术...基于Java语言开发的轻量级中文分词工具包 基于文本匹配,不需要投入大量的人力进行训练和标注 可以自定词典,方便加入特定领域的词语,能分出多粒度的结果 部署Solr并安装IKAnalyzer 创建/usr

    1.4K10

    全文搜索引擎技术详解之Apache Solr的使用

    Solr Solr是一个可扩展的,可部署,搜索,存储引擎,优化搜索大量以文本为中心的数据库 Solr是开源搜索平台,用于构建搜索应用程序 建立在Lucene(全文搜索引擎)之上 Solr是企业级的,快速的和高度可扩展的...有助于在网上定位信息 用户可以通过以关键字或短语的形式将查询传递到搜索引擎中来搜索信息,然后搜索引擎搜索其数据库并向用户返回相关链接 搜索引擎组件 搜索引擎有三个组件: Web爬虫: 一个收集网络信息的软件组件....索引类似于在书开始页或末尾处的目录索引,其中常见单词以页码显示,使得这些单词可以快速追踪,而不是搜索整本书 用于搜索的用户接口: 当索引数据库就绪,应用程序就可以执行搜索操作.为了帮助用户进行搜索,应用必须提供用户接口...渲染结果: 当收到所需结果,应用程序应决定如何使用用户界面向用户显示搜索结果 分词技术 分词技术: 搜索引擎针对用户提交查询的关键词串进行的查询处理后,根据用户的关键词串用各种匹配方法进行分词的一种技术...Java语言开发的轻量级中文分词工具包 基于文本匹配,不需要投入大量的人力进行训练和标注 可以自定词典,方便加入特定领域的词语,能分出多粒度的结果 部署Solr并安装IKAnalyzer 创建/usr/

    1.9K00

    什么是全文检索

    为了能更好的理解,我们先看一个简单的例子。 案例 实现一个文件的搜索功能,通过关键字搜索文件,凡是文件名或文件内容包括关键字的文件都需要找出来。还可以根据中文词语进行查询,并且需要支持多个条件查询。...本案例中的原始内容就是磁盘上的一些示例文件,如下图: ? 如果用数据库实现的话,数据库中的搜索很容易实现,通常都是使用sql语句进行查询,而且能很快的得到查询结果。 为什么数据库搜索很容易?...搜索过程包括: 用户通过搜索界面->创建查询->执行搜索,从索引库搜索->渲染搜索结果 创建索引 也就是对文档索引的过程,将用户要搜索的文档内容进行索引,索引存储在索引库(index)中。...在Lucene.txt中,而flink不在Lucene.txt中,但是在flink.txt中。...他们都是建立在Lucene之上的。 Solr Solr是Apache Lucene项目的开源企业搜索平台。Solr是高度可扩展的,并提供了分布式搜索和索引复制。 ?

    4.9K30

    海量数据搜索---搜索引擎

    本文会向大家讲述搜索引擎的基本知识以及中文分词的一些方法、然后会做一个小的demo来尝试数据检索。让大家初步了解搜索引擎的实现。...注意,它是实现Comparable的,起始位置靠前的优先,长度较长的优先,这可以用来决定一个词在一条分词结果的词元链中的位置,可以用于得到上面例子中分词结果中的各个词的顺序。  ...倒排文件(倒排索引),索引对象是文档或者文档集合中的单词等,用来存储这些单词在一个文档或者一组文档中的存储位置,是对文档或者文档集合的一种最常用的索引机制。...3.5 使用原因 假设要查询单词 “live”,lucene先对词典二元查找、找到该词,通过指向频率文件的指针读出所有文章号,然后返回结果。词典通常非常小,因而,整个过程的时间是毫秒级的。   ...四、solr基本配置以及使用 我们在windows系统中安装solr。

    3.4K40

    Solr技术(附软件分享)

    用户可以通过 http 请求,向搜索引擎服务器提交一定格式的 XML 文件,生成索引;也 可以通过 Http Get 操作提出查找请求,并得到 xml/json 格式的返回结果。...它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大 Data Schema 来定义字段, 类型和设置文本分析,提供基于 Web 的管理界面等。...默认值为 false stored:是否将 field 域中的内容存储到文档域,简单通俗的来说,就是你 这一个 field 需不需要被当作查询结果返回。...当 solr 存储文档时, solr 会首先对文档数据进行分词 ,创建索引库和文档数据库。所谓的分词是指:将一段字符文本按照一定的规则分成若干个单词。 ? ?.../ 在 schema.xml 中配置中文分词器 ?

    1.7K21

    什么是Solr?为什么企业都在用它

    # Solr企业搜索平台:从零开始的实战入门指南想象一下,你在一个拥有百万级商品的电商网站上搜索"红色连衣裙",几毫秒内就能得到精准结果——这背后很可能就是Solr在默默工作!...配置起来也不复杂:在查询时添加facet参数:facet=true&facet.field=category&facet.field=price_range高亮显示搜索结果中关键词高亮显示,用户体验立刻提升...性能优化技巧合理设置JVM参数生产环境中,JVM内存设置至关重要:bashSOLR_HEAP="4g" # 设置堆内存为4GB索引优化策略批量导入数据时:- 临时禁用autoCommit- 设置较大的...字段存储策略:不需要返回的字段设置stored=false,减少I/O开销。集群部署:让Solr支撑更大业务量SolrCloud架构SolrCloud是Solr的分布式版本。...推荐使用IK Analyzer:下载IK Analyzer插件放置到Solr的lib目录 在Schema中配置中文字段类型内存溢出症状:OutOfMemoryError异常解决:- 增加JVM堆内存-

    14210

    后端技术杂谈4:Elasticsearch与solr入门实践

    定时任务 在 Solr 管理后台测试搜索结果: ? 分词搜索结果 至此,基本的搜索引擎搭建完毕,外部应用只需通过 http 协议提供查询参数,就可以获取搜索结果。...Solr 已经内置了 QueryElevationComponent 插件,可以从配置文件中获取搜索关键词对应的干预列表,并将干预结果排在搜索结果的前面。...干预其请求配置 定义了搜索组件 elevator,应用在 /elevate 的搜索请求中,干预结果的配置文件在 solrconfig.xml 同目录下的 elevate.xml 中,干预配置示例: ?...五、中文分词 中文的搜索质量,和分词的效果息息相关,可以在 Solr 管理后台测试分词: ? 分词结果测试 上例可以看到,使用 IKAnalyzer 分词插件,对 “北京科技大学” 分词的测试结果。...缺点:只是搜索方案,建索引部分还是需要自己实现。在搜索功能上,只实现了最基本的需求。成功案例较少,项目的成熟度稍微差一些。因为需要支持分布式,对于一些复杂的查询需求,定制的难度会比较大。

    1.4K10

    ELK 入门介绍

    其搜索基于 Lucene 实现,在使用中,可以 lucene 的搜索语法。 其主要特点是分布式,可以管理多个集群。 可对外提供 RESTful 风格的接口。...2、solr Solr基于Lucene的全文搜索框架,提供了比Lucene更为丰富的功能, 同时实现了可配置、可扩展并对查询性能进行了优化 建立索引时,搜索效率下降,实时索引搜索效率不高 数据量的增加,...Solr的搜索效率会变得更低,适合小的搜索应用,对应java客户端的是solrj。...而在 ES 中,支持非结构化存储,一个 Person 对象的数据(在关系型数据库中称为一条记录,或者一行,在 ES 中称为一条文档),就是这个完整的记录,不需要另外一个 ContactInfo 表,具体的...q=title:Title' 在 blog 索引的 article 类型中,搜索 title 字段匹配 “Title” 的文档。 q 表示查询,后面是 lucene 查询语句。

    1.4K10

    Apache nutch1.5 & Apache solr3.6

    3.2.2solr索引操作 在 Solr 中,通过向部署在 servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。...rows=25,返回25个结果集 fq 提供一个可选的筛选器查询。查询结果被限制为仅搜索筛选器查询返回的结果。筛选过的查询由 Solr 进行缓存。它们对提高复杂查询的速度非常有用。...hl=true fl 作为逗号分隔的列表指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。“score” 指还应返回记分。...maxBufferedDocs 在合并内存中文档和创建新段之前,定义所需索引的最小文档数。段 是用来存储索引信息的 Lucene 文件。较大的值可使索引时间变快但会牺牲较多的内存。...懒散加载的一个常见场景大都发生在应用程序返回和显示一系列搜索结果的时候,用户常常会单击其中的一个来查看存储在此索引中的原始文档。初始的 显示常常只需要显示很短的一段信息。

    2.2K40

    solr使用教程【面试+工作】

    ramBufferSizeMB在添加或删除文档时,为了减少频繁的更些索引,Solr会选缓存在内存中,当内存中的文件大于设置的值,才会更新到索引库。较大的值可使索引时间变快但会牺牲较多的内存。...延迟加载的一个常见场景大都发生在应用程序返回和显示一系列搜索结果的时候,用户常常会单击其中的一个来查看存储在此索引中的原始文档。初始的显示常常只需要显示很短的一段信息。...useColdSearcher是否使用冷搜索,为false时使用自热后的searchermaxWarmingSearchers最大自热searcher数量 5.3Solr加入中文分词器 中文分词在...xml格式返回的查询结果,其中的doc就是一个文档,在doc里面的那个就是我们开始在schema.xml中定义的字段....*(ma后面两个位置都匹配) 2)查询字符必须要小写:+Ma +be**可以搜索到结果;+Ma +Be**没有搜索结果. 3)查询速度较慢,尤其是通配符在首位:主要原因一是需要迭代查询字段中的每个term

    8.6K60

    Solr搜索引擎 — 查询命令和两种中文分词使用

    fl 指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort   start 返回结果的第几条记录开始,一般分页用,默认0开始   rows 指定返回结果最多有多少条记录...返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1 的,并且sort是1到5之间的。   ...indent 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数。   ...符号)   “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。   ...三、Solr自带中文分词 自带中文分词 > cp contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.7.1.jar server

    1.9K10
    领券