几年前,我首先构建并发布了Jirasearch ,它是用于薄型包装Lucene服务器的有趣的狗粮测试用例,以针对我们的Jira问题公开强大的搜索UI。
这很好地展示了Lucene的许多重要功能:
- 使用块联接查询来建模父文档(原始的Jira问题)和子文档(每个注释)。 这种基本的关系结构在电子商务应用程序中也很常见,在电子商务应用程序中 ,您拥有一件产品(例如,一件特定的衬衫),然后在该衬衫下拥有单独的SKU(尺寸/颜色组合)
- 用
PostingsHighlighter
突出显示 - 具有平面,层次结构和动态数值范围字段的构面。 请记住,您可以通过Shift +单击来选择多个构面值(多选) !
-
DrillSideways
方面计数,因此您不会因为其他标签中的一个而损失其他方面的计数 -
AnalyzingInfixSuggester
用于自动建议 ,包括近实时更新 。 建议是针对特定项目的:如果您已深入到特定项目,则这些建议将仅来自那些项目,这要归功于AnalyzingInfixSuggester
现在支持上下文 - 近实时索引和搜索
-
WordDelimiterFilter
以便拆分驼峰式标记(尝试搜索infix ) - 同义字
- 使用表达式动态计算匹配的排序顺序得分的新近度和相关性
奇怪的是,仍然缺少拼写校正甚至模糊的中缀建议(欢迎拉动请求!)。
自从Jirasearch首次发布以来,它已经引起了用户和开发人员的广泛使用和兴趣。 对我而言,构建并保持它一直运行是一项很棒而令人沮丧的练习,因为我开始体验作为软件“生产”用户的生活。 同时,我们每个人都有一个不错的搜索UI来查找问题。
从Lucene 4.6.x升级到6.x
在过去一周左右的时间里,我还有另一个类似的经历,这次是将Jirasearch从非常老的Lucene 4.6.x版本升级到最新的6.x版本。 很小(但很重要!)的事情发生了变化,例如, 新要求要求将特殊的索引搜索器与ToParentBlockJoinQuery
一起ToParentBlockJoinQuery
,这与必须使用DrillSideways
发生冲突。 我在中缀提示器中遇到了这个错误 。 纯粹的否定布尔查询发生了一些变化,但是我仍然不确定是什么(我现在已经解决了这个问题)!
我之前已经将Lucene服务器升级到了尺寸标注点,因此可以免费获得Jirasearch中现有数字字段的值 。
Jirasearch的新功能
除了“仅”从Lucene 4.6.x升级到6.x,并将所有数字字段切换为新的尺寸点外,我还添加了一些引人注目的用户可见的改进(感谢Alexandre Rafalovitch提出了一些建议,因此,开始我意外地具有挑战性的升级和改进工作):
- 最终,“切割@ apache.org”以道格·切特的名字出现! 另外,如果您键入“ Doug”,则自动建议现在可以使用。
- 新的“ 更新前的构面”维度使您可以深入查看一段时间未更新的问题。
- 新的“ 最后评论用户”构面维度是最后对问题发表评论的用户。
- 新的按面提交的维度使您可以深入研究给定开发人员已针对其做出更改的那些问题。
- 自从从Subversion切换到Git以来,“ 提交的路径”层次结构构面维度已中断,可让您根据问题在源树中更改的路径来查找问题。
- 现在也包括基础结构项目问题。
- 对每条注释的文本处理进行了一些小的改进,例如将引用的用户名扩展为其显示名,将
commitbot
注释链接直接映射到更改集并包括分支名称,以及一些新的同义词(尝试pnp !)。
新的方面字段特别有趣:您现在可以通过向下钻取“ 更新前”>“ 1个月前”和“ 最后评论用户=您” (这是亚历山大建议的用例)来查找您可能已杀死的问题。
另一个有趣的地方是看到给定开发人员对源树的不寻常部分( 提交路径 )做出了承诺( 由提交),例如, 我针对Lucene Jira问题对Solr做出了更改的问题 。
开源Jirasearch
通过此更新,我还将在luceneserver github项目的examples/jirasearch
子目录下使所有基于Apache 2许可 的jirasearch开源 。
尽管Luceneserver本身完全是Java ,但Jirasearch应用程序的源代码可以从Apache Jira实例中提取所有问题的详细信息,并将这些文档转换为Lucene服务器文档,进行完整和近乎实时的索引编制,从而建立建议,和搜索界面完全是Python。
请注意,Python源代码不是特别漂亮。 但是,它们是功能性的,并且一如既往:欢迎使用补丁程序!
我很可能在升级过程中遇到了麻烦。 如果是这样,请告诉我(在此处添加评论或向我发送电子邮件)。
翻译自: https://www.javacodegeeks.com/2016/10/jirasearch-2-0-dog-food-using-lucene-find-jira-issues.html