hybris內容知識包括:Cockpit(ZK)/CockpitNG/CMS/Solr/Promotion/Mobile/OMS/Catalog design/PCM/OMS/Datahub/Accelerator。
WikiHybris 所有的資料都在hybris的wiki上,所以從high level上來(lái)說(shuō),比較好的一個(gè)途徑是看wiki,做trail。hybris的trail 其實(shí)應該做幾遍,知道每一步的流程具體是做什么的。
Project Implementation做hybris項目,會(huì )非常辛苦,我見(jiàn)過(guò)partner從早上8點(diǎn)多做到晚上12點(diǎn)。這對于某一個(gè)領(lǐng)域的能力會(huì )增加很快,不過(guò)對于hybris知識的廣度可能未必。
Source Code我們都知道hybris的source code是可以被反編譯的,可以大概看看其中的代碼結構。wiki上很多資料寫(xiě)的其實(shí)并不全,并且由于資料多,很容易看過(guò)前面就忘了后面。
具體實(shí)現細節還需要看源代碼來(lái)了解,例如hybirs core和core plus 的底層細節(如類(lèi)型系統type system的啟動(dòng)和初始化),以及spring context scope等,這些細節都是需要看源代碼來(lái)了解的。還包括一些正在發(fā)展的component, 如datahub的實(shí)現細節,在wiki上基本沒(méi)有,必須看源代碼才能知道其內部邏輯。
注:反編譯的源代碼不一定保證能和源source code一一對應,我就見(jiàn)過(guò)exception stack trace 和反編譯出來(lái)的代碼對應不上,到時(shí)候可能會(huì )一頭霧水。閱讀源代碼的時(shí)候還可以用關(guān)系圖來(lái)理解各個(gè)package之間的聯(lián)系,從而將自己的知識網(wǎng)格化,這樣不同的知識點(diǎn)能夠互相連接起來(lái)。
Lucene是一個(gè)開(kāi)放源代碼的全文檢索引擎工具包,即它不是一個(gè)完整的全文檢索引擎,而是一個(gè)全文檢索引擎的架構,提供了完整的查詢(xún)引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語(yǔ)言)。Lucene的目的是為軟件開(kāi)發(fā)人員提供一個(gè)簡(jiǎn)單易用的工具包,以方便的在目標系統中實(shí)現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎.
Solr是一個(gè)高性能,采用Java5開(kāi)發(fā),基于Lucene的全文搜索服務(wù)器。同時(shí)對其進(jìn)行了擴展,提供了比Lucene更為豐富的查詢(xún)語(yǔ)言,同時(shí)實(shí)現了可配置、可擴展并對查詢(xún)性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。它對外提供類(lèi)似于Web-service的API接口。用戶(hù)可以通過(guò) 下面主要說(shuō)說(shuō)需要注意的地方。 Solr的安裝非常簡(jiǎn)單,下載solr的zip包后解壓縮將dist目錄下的war文件改名為solr。
war直接復制到tomcat5。5的webapps目錄即可。
注意一定要設置solr的主位置。有三種方法。
我采用的是在tomcat里配置java:comp/env/solr/home的一個(gè)JNDI指向solr的主目錄(example目錄下),建立/tomcat55/conf/Catalina/localhost/solr。 xml文件。
觀(guān)察這個(gè)指定的solr主位置,里面存在兩個(gè)文件夾:conf和data。其中conf里存放了對solr而言最為重要的兩個(gè)配置文件schema。
xml和solrconfig。xml。
data則用于存放索引文件。 schema。
xml主要包括types、fields和其他的一些缺省設置。 solrconfig。
xml用來(lái)配置Solr的一些系統屬性,例如與索引和查詢(xún)處理有關(guān)的一些常見(jiàn)的配置選項,以及緩存、擴展等等。 上面的文檔對這兩個(gè)文件有比較詳細的說(shuō)明,非常容易上手。
注意到schema。xml里有一個(gè)url 的配置,這里將url字段作為索引文檔的唯一標識符,非常重要。
三、加入中文分詞 對全文檢索而言,中文分詞非常的重要,這里采用了qieqie庖丁分詞(非常不錯:))。集成非常的容易,我下載的是2。
0。4-alpha2版本,其中它支持最多切分和按最大切分。
以下資料整理自網(wǎng)絡(luò ),以及查看solr幫助文檔。
主要分為兩部分,第一部分是對《db-data-config.xml》的配置內容的講解(屬于高級內容),第二部分是DataImportHandler(屬于基礎),第三部分是對db-data-config.xml的進(jìn)階 第一部分是對《db-data-config.xml》 query是獲取全部數據的SQL deltaImportQuery是獲取增量數據時(shí)使用的SQL deltaQuery是獲取pk的SQL parentDeltaQuery是獲取父Entity的pk的SQL Full Import工作原理:執行本Entity的Query,獲取所有數據;針對每個(gè)行數據Row,獲取pk,組裝子Entity的Query;執行子Entity的Query,獲取子Entity的數據。 Delta Import工作原理:查找子Entity,直到?jīng)]有為止;執行Entity的deltaQuery,獲取變化數據的pk;合并子Entity parentDeltaQuery得到的pk;針對每一個(gè)pk Row,組裝父Entity的parentDeltaQuery;執行parentDeltaQuery,獲取父Entity的pk;執行deltaImportQuery,獲取自身的數據;如果沒(méi)有deltaImportQuery,就組裝Query 限制:子Entity的query必須引用父Entity的pk 子Entity的parentDeltaQuery必須引用自己的pk 子Entity的parentDeltaQuery必須返回父Entity的pk deltaImportQuery引用的必須是自己的pk 第二部分是DataImportHandler 關(guān)于DataImportHandler的具體使用方法,詳見(jiàn)下文,如果你英文超級好,那看這個(gè)鏈接吧:.mysql.jdbc.Driver" url="jdbc:mysql://localhost/dbname" user="db_username" password="db_password"/> 數據源也可以配置在solrconfig.xml中 屬性type 指定了實(shí)現的類(lèi)型。它是可選的。
默認的實(shí)現是JdbcDataSource。 屬性 name 是datasources的名字,當有多個(gè)datasources時(shí),可以使用name屬性加以區分 其他的屬性都是隨意的,根據你使用的DataSource實(shí)現而定。
當然 你也可以實(shí)現自己的DataSource。 多數據源 一個(gè)配置文件可以配置多個(gè)數據源。
增加一個(gè)dataSource元素就可以增加一個(gè)數據源了。name屬性可以區分不同的數據源。
如果配置了多于一個(gè)的數據源,那么要注意將name配置成唯一的。 例如: 然后這樣使用 ..<entity name="one" dataSource="ds-1" 。
> .. .... 配置JdbcDataSource JdbcDataSource中的屬性有 driver(必需的):jdbc驅動(dòng)名稱(chēng) url(必需的):jdbc鏈接 user:用戶(hù)名 password:密。
Solr是一個(gè)Java應用,可以部署在Web容器中。
如果使用的是 Sun Java 1。6, 在啟動(dòng)命令行加上 -Dcom。
sun。management。
jmxremote 即可啟用 JMX 監控。例如: java -Dcom。
sun。management。
jmxremote -jar start。jar配置時(shí),需要JMX的用戶(hù)名,口令,和jmx_url。
如果是本地相同用戶(hù)監控,只要制定進(jìn)程號即可,這種方式不需要用戶(hù)名和口令,(只對Sun Java 1。6 有用),具體寫(xiě)法可參考,另一個(gè)開(kāi)源工具sigar的文檔。
監控時(shí)首要關(guān)注的是Java虛擬機的配置,包括堆空間大小,當前堆的使用大小等。然后關(guān)注的應該是索引文檔的數量,最大值,以及各種查詢(xún),緩存的命中率,使用率等,具體如下: JVM 指標 activeThreadCount:活躍線(xiàn)程數量 CurrentHeapSize:當前堆大小 TotalHeapSize: 堆的總大小 Searcher 監控 Searcher Number of Docs Searcher Max Docs Query監控 Query Result Cache Evictions Query Result Cache Hit Ratio Query Result Cache Hits Query Result Cache Inserts Query Result Cache Lookups Query Result Cache Sizes Document監控 Document Cache Evictions Document Cache Hit Ratio Document Cache Hits Document Cache Inserts Document Cache Lookups Document Cache Sizes Filter 監控 Filter Cache Evictions Filter Cache Hit Ratio Filter Cache Hits Filter Cache Inserts Filter Cache Lookups Filter Cache Sizes Update 監控 Update Handler Adds Update Handler Commits Update Handler Autocommits Update Handler Optimizes Update Handler Rollbacks Update Handler ExpungeDeletes Update Handler DocsPending Update Handler DeletesById Update Handler DeletesByQuery Update Handler Errors 監控Solr后,可使用Hyperic HQ豐富功能,對采集的數據進(jìn)行查看,展示,報警。
作為一個(gè)真正的IT人員,我們不僅要懂得高級語(yǔ)言的編程使用,更要懂得電腦基礎的知識。這是我們成為杰出的IT人員的基石,只有踏上這些基礎知識我們才能走的更高。
首先我們要懂得電腦是如何工作的?電腦的工作原理就是開(kāi)和關(guān)兩種狀態(tài),這是由其中的部件只有開(kāi)和關(guān)這兩種狀態(tài)最穩定決定的。
而我們用0和1去表示他們,電腦將0和1進(jìn)行了充分的組合,也就是部件的串聯(lián),造就了豐富多變各種各樣的事物,也就是我們看電腦功能的強大。
可以通過(guò)0和1進(jìn)行編碼輸入計算機,也可以通過(guò)解碼將其還原成原來(lái)的事物。這就是電腦工作最基本的原理。
0和1編碼也就是我們說(shuō)的二進(jìn)制Binary,二進(jìn)制的出現正是伴隨著(zhù)計算機的誕生而出現的,計算機的一切工作計算都是由二進(jìn)制編碼完成的。就像十進(jìn)制Decimal正是專(zhuān)門(mén)為我們人類(lèi)使用方便而產(chǎn)生的。另外還有十六進(jìn)制Hexadecimal,由于人類(lèi)研究二進(jìn)制比較復雜,才引出了十六進(jìn)制去方便研究二進(jìn)制。
而這些簡(jiǎn)單的二進(jìn)制是如何和世界轉變的呢?這里又引出了ASCII碼,BCD碼,國標碼等這些都是幫助計算機實(shí)現其功能的必需品。
這些東西都是電腦正常工作的必備條件,只有我們把這些東西,弄明白了我們才能在計算機方面走的更高更遠。
IT 人員必學(xué)的基礎知識(二)——進(jìn)制相互轉化
二進(jìn)制是計算機處理數據的工具。單位有位(bit),字節(Byte),千字兆(KB),兆字節(MB),千兆字節(GB)。
相互轉換關(guān)系:1B=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB。
二進(jìn)制,八進(jìn)制,十進(jìn)制,十六進(jìn)制之間的轉換圖:
其中二進(jìn)制可以作為這幾種之間相互轉化的基礎,通過(guò)二進(jìn)制很多可以變得很簡(jiǎn)單:
IT人員必學(xué)基礎知識(三)——編碼理解
上篇說(shuō)的二進(jìn)制等之間的轉換,而要完成這些轉換,需要人為的定制一些規則,這就是第一篇提到的ASCII碼,BCD碼和國標碼。
1、ASCII碼,即美國標準信息交換碼(American Standard Code for Information Interchanger), 包括了32個(gè)通用字符,10個(gè)十進(jìn)制數碼,52個(gè)英文大小寫(xiě)字母和34個(gè)專(zhuān)用符號。這是沒(méi)有拓展的,最常用的。圖:
2、BCD(Binary-Coded Decimal)碼,又稱(chēng)為“二-十進(jìn)制編碼”專(zhuān)門(mén)解決用二進(jìn)制數表示十進(jìn)制數的問(wèn)題。BCD制編碼的方法有很多,通常有8421碼,5421碼等等。
例:13可以寫(xiě)作8421碼0001 0011
3、國標碼(GB2312),主要是編碼漢字的,有兩個(gè)7位二進(jìn)制編碼表示,即每個(gè)編碼需要占兩個(gè)字節,是針對中國一些信息編制的一些編碼。
IT人員必學(xué)基礎知識(四)——補充總結
這是計算機計算十進(jìn)制運算時(shí)的大致過(guò)程,它將幾種進(jìn)制和幾種編碼運用到了極致。這就是計算機運用簡(jiǎn)單的事物早就不簡(jiǎn)單的事情。計算機中任何一個(gè)過(guò)程都需要運用到這些知識,另外還有原碼,反碼,補碼等等。
在計算機內,定點(diǎn)數有3種表示法:原碼、反碼和補碼。原碼(true form)就是二進(jìn)制定點(diǎn)表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。補碼(two's complement)表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.745秒