js实现日历框上一日下一日_一日三项令人兴奋的Lucene功能
js實現日歷框上一日下一日
昨天是富有成效的一天:突然,Lucene有了三個令人興奮的新功能。
表達式模塊
昨天提交的第一個功能是新的expressions模塊 。 這使您可以使用任意String表達式定義用于排序的動態字段。 內置了對JavaScript解析的支持,但是如果您想創建自己的語法,則解析器是可插入的。
例如,您可以使用表達式定義排序字段
sqrt(_score) + ln(popularity)如果您想主要通過相關性來提供混合排序,并通過受歡迎度字段來提高混合排序。
該代碼非常易于使用。 在TestDemoExpressions.java單元測試用例中,有一些不錯的示例,這些將??在Lucene的下一個穩定版本(4.6)中提供。
可更新的數字文檔值字段
第二個功能也是昨天提交的,它是可更新的數字文檔值字段 ,可讓您使用IndexWriter上的新updateNumericDocValue方法更改以前索引的數字值。 它可以與近實時閱讀器配合使用,因此您可以更新一些文檔的數值,然后重新打開新的近實時閱讀器以查看更改。
該功能目前僅是主干,因為我們可以解決一些涉及特別有爭議的布爾值的剩余問題。 當前它也不適用于稀疏字段,即,僅當該文檔已首先對該字段建立索引時,您才能更新該文檔的值。
結合使用這兩個功能,您可以使用功能強大的用例,在這些用例中,您可以根據隨時間變化的混合字段進行排序。 例如,也許您測量用戶單擊搜索結果中每個文檔的頻率,然后使用該頻率更新popularity字段,然后將該popularity字段用于混合排序。 這樣,當您向用戶學習哪些文檔很受歡迎而哪些文檔不受歡迎時,搜索結果的排名就會隨著時間而變化。
當然,使用自定義外部代碼以前總是可以使用這種功能,但是現在有了表達式和可更新的doc值,實現起來就變得微不足道了!
免費文字建議
最后,第三個功能是一個新的建議程序實現,即FreeTextSuggester 。 它是與現有建議完全不同的建議者:它不是從有限的預建建議范圍中進行建議,而是使用簡單的ngram語言模型來基于1個或2個先前標記預測可能的建議的“長尾巴”。
在ShingleFilter ,它使用ShingleFilter創建ngram,并使用FST存儲和查找生成的ngram模型。 雖然將多個ngram模型緊湊地存儲在單個FST中,但是FST仍然會變得很大。 建立在AOL查詢日志上的3克,2克和1克模型為19.4 MB(查詢本身為25.4 MB)。 這是受到Google方法的啟發。
可能不會單獨使用此建議者,而是當您的主要建議者找不到任何建議時作為備用。 您可以通過Google查看這種行為。 嘗試搜索“ the fast and”,您將看到建議仍然是完整的查詢。 但是,如果您鍵入的下一個單詞是“ burning”,那么google(到目前為止!)突然沒有完整的建議,并退回到其自由文本方法。
翻譯自: https://www.javacodegeeks.com/2013/09/three-exciting-lucene-features-in-one-day.html
js實現日歷框上一日下一日
總結
以上是生活随笔為你收集整理的js实现日历框上一日下一日_一日三项令人兴奋的Lucene功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 玉字五行属什么 玉字五行是属什么
- 下一篇: 怎么去除照片上的马赛克 去除照片上的马赛