Compass是對lucene進行封裝的java項目,使得在spring,hibernate這種環境下非常容易的實現全文檢索,也極大的提高了效率。所以在myblog裏面我也使用了compass作爲全文索引。 從Compass的samples裏面的petclinic裏面可以找到Compass的配置。 classpath:org/compass/sample/petclinic/petclinic.cmd.xmlclasspath:petclinic.cpm.xmlfile://${user.home}/compass/petclinicorg.compass.spring.transaction.SpringSyncTransactionFactory這裏配置的索引位置是用的系統的絕對路徑,可能大部分的人還是希望索引能放到項目的一個子目錄裏面,就是使用相對路徑的方式。但是如果直接修改 file://${user.home}/compass/petclinic 爲 /compass/petclinic 這樣是不行的。剛開始我也是這樣修改的。其實我們看一下LocalCompassBean的源代碼就知道怎麼做了。 if (this.compassSettings != null) { config.getSettings().addSettings(this.compassSettings); } ...... if (config.getSettings().getSetting(CompassEnvironment.CONNECTION) == null && connection != null) { config.getSettings().setSetting(CompassEnvironment.CONNECTION, connection.getFile().getAbsolutePath()); } 這裏可以看到如果你配置compassSettings的時候配置過compass.engine.connection的話compass就會使用你配置的值也就是絕對路徑。如果你沒有配置就會去讀connection的值,而connection的類型是org.springframework.core.io.Resource,這個是spring封裝的資源類,提供很多種訪問方式 file classpath ,這裏就可以使用相對路徑了。去掉compassSettings裏面的compass.engine.connection 的配置,加上connection的配置就可以實現相對路徑了。比如myblog裏面的配置 classpath:com/jdkcn/compass/lucene/indexesorg.compass.spring.transaction.SpringSyncTransactionFactory webapp啓動之後compass就會在你的應用的/lucene/indexes目錄下建立索引了。
如何配置compass的索引位置爲相對路徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
一文搞懂 Spring 循環依賴
原創
2024-06-06 13:11:47
聊聊Spring中的數據綁定 --- WebDataBinder、ServletRequestDataBinder、WebBindingInitializer 文章源於Ai生成
微學網絡
2024-05-27 10:53:57
Java開發必讀,談談對Spring IOC與AOP的理解
原創
2024-06-07 22:57:21
Java日誌通關(四) - Logback 介紹
夜黑人模糊灬
2024-06-06 13:45:20
什麼時候需要用到 @EnableWebSecurity 註解?
原創
2024-06-05 13:11:40
Spring Security 註冊過濾器注意事項
原創
2024-06-04 03:48:39
WebSocket替換Http協議的邏輯實現
原創
2024-06-03 11:25:33
Spring 中如何控制 Bean 的加載順序?
原創
2024-06-03 01:17:22
「Java開發指南」如何用MyEclipse搭建Spring安全策略?
原創
2024-05-30 12:19:47
spring源碼閱讀之bean加載過程(一)
原創
2024-05-27 23:55:57
使用 Spring Cloud Alibaba AI 構建 RAG 應用
原創
2024-05-27 21:13:51
一文帶你理解透MyBatis源碼
原創
2024-06-03 10:59:21
8個實用的Java Streams API
原創
2024-06-04 21:46:09
記一次疑似JVM內存泄漏的排查過程
原創
2024-06-04 12:09:32