lucene 搜索

您可能还记得我的第一篇博客文章 ,该文章描述了Lucene开发人员如何使用Lucene搜索应用程序查找我们的Jira问题来食用我们自己的狗粮。

该应用程序已成为许多现代Lucene功能的强大展示,例如侧向钻取和动态范围刻面, 基于中缀匹配的新建议 , 张贴荧光笔 ,块联接查询,因此您可以跳转到与您的匹配的特定问题注释搜索,近实时索引和搜索等。每当新用户向我询问Lucene的功能时,我都会将他们指向该应用程序,以便他们可以自己查看。

最近,我取得了一些进一步的进展,因此我想进行更新。

简单的基于Netty的Lucene服务器的源代码现在可以在此subversion分支上使用 (有关详细信息,请参阅LUCENE-5376 )。 我一直在逐步增加其他Lucene模块的覆盖范围,包括构面,建议程序,分析,queryparsers,突出显示,分组,联接和表达式。 当然还有正常的索引和搜索! 还有许多工作要做(有很多未提交的内容),此处的目标不是构建功能丰富的搜索服务器,而是演示如何在服务器上下文中使用最少的“瘦服务器”附加源代码使用Lucene当前的模块。

另外,为了测试此基于Lucene的新服务器并完成“狗食”,我构建了一个简单的Jira搜索应用程序插件,以帮助我们在此处找到Jira问题。 该应用程序具有各种Python工具,可使用Jira的REST API和作为Python WSGI应用程序运行的用户界面层提取和索引Jira问题,以将请求发送到服务器并将响应呈现回用户。 此Jira搜索应用程序的目标是使它易于指向任何Jira实例/项目,并实现对所有问题的全面搜索。

我只是对生产站点进行了进一步的更改:

  • 我将Jira搜索应用程序升级到当前服务器分支(以前它在我的私有fork上运行)。
  • 我将所有分析组件都切换到了Lucene的分析工厂。 这些工厂使用Java的SPI(服务提供商接口),以便服务器可以访问类路径中的任何字符过滤器,令牌化器和令牌过滤器。 这在构建服务器时非常有帮助,因为这意味着您不需要任何特殊的代码即可处理Lucene如今提供的大量分析组件。 一切都简单地通过了工厂(工厂知道如何解析自己的论点)。
  • 我已经添加了Tika项目,因此您现在也可以找到Tika问题。 添加起来非常简单,并且似乎可以正常工作!
  • 我插入了WordDelimiterFilter以便拆分CamelCaseTokens。 例如,尝试搜索中缀并记下高亮。 正如Rober Muir提醒我的那样, WordDelimiterFilter会破坏偏移量,在某些情况下,它将使突出显示混乱,因此,我将尝试设置我已经在使用的ICUTokenizer来进行拆分。
  • 当您进行文本搜索时,我默认切换到Lucene的新表达式模块来进行相关性+新近度排序,这很有用,因为大多数时候我们都在寻找最近接触的问题。 以前,我使用自定义FieldComparator来实现相同的功能,但是表达式更加紧凑和强大,可以删除该自定义FieldComparator
  • 我切换到的建议近乎实时的建设,使用AnalyzingInfixSuggester 。 以前,我每隔五分钟就完全重建一次建议程序,所以这节省了很多CPU,因为现在我只是在问题出现时添加新的Jira问题并刷新建议程序。 这也意味着从添加索引到建议索引之间的延迟要短得多。 有关详细信息,请参见LUCENE-5477 。
  • 我现在每天commit一次。 以前,我从不承诺,只是依靠近实时搜索。 这工作得很好,除非当我需要关闭服务器(例如,推出新更改)时,它需要完全重新索引,这是非常快的,但是对于那些在搜索过程中偶然进行搜索的用户来说,体验很差。 现在,当我启动服务器时,它又回到了最后一次提交,然后近实时索引Swift赶上了自最后一次提交以来发生的任何已更改问题。
  • 各种小问题,例如重命名Jira问题时的正确处理(Jira REST API很难发现它!); 更好的生产推动自动化; 升级到引导 UI库的更新版本。

此Jira搜索应用程序仍需进行大量改进。 对于具有许多可能的向下钻取值的字段,我想使用一个简单的建议程序,以便用户可以快速向下钻取。 我想修复建议程序,以根据项目过滤建议。 例如,如果您深入研究了提卡问题,那么当您输入新搜索时,您应该只会看到建议的提卡问题。 为此,我们需要使AnalzyingInfixSuggester上下文感知 。 我还想为所有方面字段提供更紧凑的UI; 也许我需要在“更多”下隐藏不常用的构面字段...

参考: 使用Lucene的搜索服务器从我们的JCG合作伙伴 Michael Mc Candless的Changeing Bits博客中搜索Jira问题 。

翻译自: https://www.javacodegeeks.com/2014/03/using-lucenes-search-server-to-search-jira-issues.html

lucene 搜索

lucene 搜索_使用Lucene的搜索服务器搜索Jira问题相关推荐

  1. 谷歌高级搜索_您如何设置高级Google搜索条件?

    谷歌高级搜索 It is easy to get more results than you need or want when conducting an online search, but wh ...

  2. github 搜索_如何通过GitHub快速的搜索资源?

    最近在研究GitHub的使用,所以刚好借这次机会跟大家分享一下GitHub的使用. GitHub应该大部分人都知道,或多或少的接触过它.有些人可能使用它搜索更多的学习资料,有些人使用它管理自己的资源, ...

  3. 正在搜索需要的文件一直在搜索_正在被蚕食的百度搜索

    28.03.2019 本文字数:3118,阅读时长大约6分钟 导读:百度搜索在国内一家独大的格局虽暂时无人撼动,但愈发饱和的流量市场背后,搜索业务正呈现出多元化与差异化发展的趋势. 作者 | 第一财经 ...

  4. java 多关联字联合搜索_【lucene】高级搜索篇

    一,概念 1. Lucene相关排序流程 找到关键词匹配的文档集合---->文档集合每个文档计算检索相似度----->对文档集合进行排序 2. Lucene相关类 ① Query类:一个抽 ...

  5. 二元矩阵峰值搜索_好斗的牛(二元搜索)

    二元矩阵峰值搜索 A farmer has built a long barn with N stalls. The stalls are placed in a straight manner at ...

  6. bing 高级搜索_如何使用Bing的高级搜索运算符:更好搜索的8条提示

    bing 高级搜索 Google may still be the top search engine, but Bing is starting to stand on its own. Bing ...

  7. php多关键词精确查找,搜索引擎,全文搜索_请问有没有搜索引擎能做到Like级别的任意关键词精确查询?,搜索引擎,全文搜索,lucene,elasticsearch,百度 - phpStudy...

    请问有没有搜索引擎能做到Like级别的任意关键词精确查询? 举个例子,对于新闻[http://tech.163.com/15/0323/07/ALCIH40U000915BF.html],在正文中,按 ...

  8. 使用Lucene的搜索服务器搜索Jira问题

    您可能还记得我的第一篇博客文章,其中描述了Lucene开发人员如何使用Lucene搜索应用程序查找我们的Jira问题来食用我们自己的狗食. 该应用程序已成为许多Lucene现代功能的强大展示,例如侧向 ...

  9. SpringCloud学习笔记024---SpringBoot集成Lucene实现全文检索_分词_索引_更新_删除文档_词条搜索_多条件查询

    JAVA技术交流QQ群:170933152 先看代码实现,下面有lucene介绍: 测试用例 Github 代码 代码我已放到 Github ,导入spring-boot-lucene-demo 项目 ...

最新文章

  1. c语言函数传参时候的类型强制装换
  2. PEInfo编程思路讲解01 - 工具篇01|解密系列
  3. Java虚拟机详解05----垃圾收集器及GC参数
  4. 使用sentinel实现限流
  5. Linux先发送条件变量,浅谈Linux条件变量的使用
  6. 启动另一个activity
  7. 留言送书丨《Oracle高性能系统实战大全》包邮到家
  8. mysql ddl log 源码_MySQL中ddl_log.log初步认识
  9. Python--turtle绘图模块讲解
  10. kubernetes 应用快速入门
  11. 2014年国内最热门的.NET开源项目TOP25
  12. Python中的抽象
  13. SpringMVC Ⅰ
  14. 物联网15年,盘点国内崛起的智能产业
  15. IC设计职位详解之“数字前端设计工程师”就业必学课程
  16. 通信室计算机室采购配置co2灭火器,2019一级消防案例分析考点:民用类建筑消防设施的配置...
  17. 2021年全国职业院校技能大赛 “大数据技术与应用”—模拟赛题(四)
  18. vue-print-nb 实现页面打印(含分页打印)
  19. 2020年中国各省GDP简析
  20. 微软TTS语音引擎编程入门

热门文章

  1. 吃豆人(luogu 7472/NOI Online 2021 普及组 T2)
  2. 低价购买(洛谷 1108)
  3. 2、安装和连接mysql
  4. 11、java中的I/O流(1)
  5. JS Promise的实现原理
  6. Oracle入门(十四.1)之PL / SQL简介
  7. jstack命令:教你如何排查多线程问题
  8. hibernate正向生成数据库表以及配置——Teacher.hbm.xml
  9. 二叉排序树的删除+图解
  10. mysql预编译语句拼接查询_SQL语句预编译(查询)