Jirasearch 2.0狗粮:使用Lucene查找我们的Jira问题
幾年前,我首先構建并發布了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
總結
以上是生活随笔為你收集整理的Jirasearch 2.0狗粮:使用Lucene查找我们的Jira问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 千古词帝是谁 千古词帝指的是哪个人
- 下一篇: 古代成语百巧千穷的寓意是什么 古代成语百