




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、石河子大學畢業(yè)論文(設計)選題指南信息科學與技術 學院 計科 專業(yè) 2010 年級指導教師曹傳東職稱系統(tǒng)分析師、高工填報時間2013-11-6課題名稱使用Lucene和Solr進行位置感知搜索課題來源1科研題目 2生產現場 3自擬題目課題類型1論文型 2設計型 完成課題所需時間12周14周所需學生人數1實習(考察)地點論文(設計)地點本院網絡工程實驗室立題依據不管是通過支持GPS的智能手機查找距離最近的餐館,還是通過社交站點查找附近的朋友,或是查看特定城市中運輸某種商品的所有貨車,越來越多的人和企業(yè)都會使用位置感知的搜索服務。那么,如何構建基于位置感知的搜索服務呢?好在Apache的開源搜索引
2、擎框架項目Lucene和搜索服務器Solr項目最近添加了空間位置功能。本課題擬研究如何通過Apache的Lucene和Solr、利用空間數據來改進搜索應用程序。為什么要使用搜索引擎而不是那些優(yōu)秀(甚至免費)的GIS工具呢?原因是將應用程序構建在搜索引擎的基礎上能夠提供若干更為強大的功能,而這是其他傳統(tǒng)途徑所無法實現的。搜索引擎在合并結構化和非結構化數據方面非常強勁,它支持用戶輸入自由形式的查詢,比如在搜索免費文本的描述和標題的同時,根據地理位置數據限制或修改結果。例如,旅游站點可實現如下的特性:讓用戶能夠在幾秒之內,找到某個城市內的所有提供24小時服務且配有舒適大床的四星級賓館。有些搜索系統(tǒng)(
3、如Solr)還提供對結果集進行分類、突出顯示和拼寫檢查等功能,從而能夠幫助用戶高效地查找與位置相關的那些結果。先來看看一個普通的全文搜索引擎都應當包含些什么。由于文本搜索引擎的工作流程一般分三步:從互聯網抓取網頁創(chuàng)建抓取網頁的索引庫從索引庫中進行搜索。因此首先需要設計實現一個能訪問網絡的爬蟲器程序,依據URL之間的關聯性自動爬行整個互聯網,并對爬行過的網頁進行抓取收集。當網頁被收集回來后,采用索引分析程序進行網頁信息的分析,依據一定的相關度算法(如超鏈接算法)進行大量計算,創(chuàng)建倒排序的索引庫。索引庫建好后,用戶就可以通過提供的查詢界面提交關鍵詞進行搜索,依據特定的排序算法返回搜索結果。因此,搜
4、索引擎并不是對互聯網進行直接搜索,而是對已抓取網頁索引庫的搜索,這也是能快速返回搜索結果的原因,索引在其中扮演了最為重要的角色,索引算法的效率直接影響搜索引擎的效率,是評測搜索引擎是否高效的關鍵因素。網頁爬行器、索引器、查詢器共同構成了文本搜索引擎的重要組成單元。但是,針對特定的語言,如中文、日文、韓文等,并不像英文那樣可簡單地識別出關鍵詞來(因為英語的一句話是用空格分割詞語的),因此,在索引器創(chuàng)建索引之前,以及查詢器處理用戶輸入的關鍵詞時,還需要分詞器對某種語言的文本進行分詞。一般情況下,分詞器將一段文本拆分成多個詞后,還需要進一步進行過濾處理,如去掉一些敏感詞、轉換大小寫和單復數等,也就是
5、說,除了上面所說的3個關鍵組件之外,由分詞器和過濾器一起構成的所謂文本分析器,也是搜索引擎應當包含的一個重要組件。使用開源搜索引擎項目實現上面的基本組件,不僅可以大大縮短構建搜索應用服務器的周期,并可根據應用需求,進一步構建符合特定需求的搜索引擎系統(tǒng)。開放源代碼的搜索引擎可為用戶提供更大的透明性,開放的源代碼、公開的排序算法、隨意的可定制性,相比于商業(yè)搜索引擎而言,更為開發(fā)者和用戶所需要。由于目前國內外已經有一些開放源代碼的搜索引擎項目,主要集在中搜索引擎開發(fā)工具包與架構、Web搜索引擎、文件搜索引擎幾個方面,因此,本課題將采用當前一個比較流行且相對比較成熟的搜索引擎開源項目Lucene。Lu
6、cene可以說是目前最為流行的開放源代碼全文搜索引擎工具包,隸屬于Apache基金會,由資深全文索引/檢索專家Doug Cutting所發(fā)起,并以其妻子的中間名作為項目的名稱,放在SourceForge的網站上提供下載。2001年9月,Lucene作為高質量的開源Java產品加入到Apache軟件基金會的 Jakarta家族中。隨著每個版本的發(fā)布,這個項目得到了明顯的增強,目前Lucene的最新版本為?;贚ucene在索引及搜索方面的優(yōu)秀表現,雖然由Java編寫的Lucene具有天生的跨平臺性,但仍被改編為許多其他語言的版本:Python(PyLucene)、C+(CLucene)、.Net
7、(Lucenenet)等。Lucene不是一個具有完整特征的搜索應用程序,而是一個全文搜索引擎的架構,提供了完整的查詢引擎和索引引擎,以及部分的文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便其在目標系統(tǒng)中實現全文檢索的功能,或者是以此為基礎,建立起完整的全文檢索引擎。因此,同其他開源搜索引擎相比,Lucene具有非常好的架構,能夠方便地在其基礎上進行研究與開發(fā),添加新功能或者開發(fā)新系統(tǒng)。盡管Lucene本身只支持文本文件及少量語種的索引,并且不具備爬蟲功能,但這又恰是Lucene的魅力所在,通過Lucene提供的豐富接口,我們可以根據
8、自身的需要,在其上添加具體語言的分詞器,針對具體文檔的文本分析器等,而這些具體的功能實現,都可以借助于一些已有的相關開源軟件項目、甚至是商業(yè)軟件來完成,這也保證了Lucene在索引及搜索方面的專注性。目前,通過在Lucene的基礎上加入爬行器、文本分析器等也形成了一些新的開源項目,如Heritrix、Nutch、Solr等。并且Lucene的索引數據結構已經成了一種事實上的標準,為許多搜索引擎所采用。例如,Apache軟件基金會的網站就使用了Lucene作為全文檢索的引擎,IBM的開源軟件eclipse的2.1版本中,也采用了Lucene作為幫助子系統(tǒng)的全文索引引擎,相應的IBM的商業(yè)軟件We
9、b Sphere中也采用了Lucene。Lucene的架構和工作流程如圖2所示,圖中,創(chuàng)建索引的過程分為下述4個主要的步驟:(1) 有一系列被索引文件(這里是Web爬蟲器抓取下載的一系列結果文件)(2) 被索引文件經過語法分析和語言處理形成一系列詞(Term)。(3) 經過索引創(chuàng)建形成詞典和反向索引表(倒排表)。(4) 通過索引存儲將索引寫入硬盤。查詢的過程為:(a) 用戶輸入查詢語句。(b) 對查詢語句經過語法分析和語言分析處理得到一系列詞(Term)。(c) 通過語法分析得到一個查詢樹。(d) 通過索引存儲將索引讀入到內存。(e) 利用查詢樹搜索索引,從而得到每個詞(Term)的文檔鏈表,
10、對文檔鏈表進行交,差,并得到結果文檔。(f) 將搜索到的結果文檔對查詢的相關性進行排序。(g) 返回查詢結果給用戶。圖2 Lucene的架構和工作流程圖對應于圖2的全文檢索流程的Lucene實現的包結構如圖3所示,其中: Lucene的analysis模塊主要負責詞法分析及語言處理而形成Term。 Lucene的index模塊主要負責索引的創(chuàng)建,里面有IndexWriter。 Lucene的store模塊主要負責索引的讀寫。 Lucene的QueryParser主要負責語法分析。 Lucene的search模塊主要負責對索引的搜索。 Lucene的similarity模塊主要負責對相關性打分的
11、實現?;贚ucene的Java編碼文件中共有7個包需要導入:analysis,document,index,queryParser,search,store,util。圖3 Lucene的實現包結構Apache Solr則是一個使用Lucene的上述優(yōu)秀的面向對象的體系架構、通過HTTP來提供搜索、分類等功能的搜索服務器。盡管Solr是基于Lucene的,但Solr采用Java5開發(fā),同時對其進行了重要擴展,提供了比Lucene更為豐富的查詢語言,同時實現了高性能、可配置、可擴展并對查詢性能進行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款支持群集技術的更為優(yōu)秀的全文搜索引擎。文檔通過Ht
12、tp利用XML加到一個搜索集合中。查詢該集合也是通過http收到一個XML/JSON響應來實現。Solr支持高效、靈活的緩存功能和垂直搜索功能,可高亮顯示搜索結果,支持通過索引復制來提高可用性,同時提供一套強大Data Schema來定義字段,類型和設置文本分析。借助Lucene在表達用戶查詢方面的豐富功能,Solr通過應用其多種對空間搜索非常重要的過濾器機制來實現限制空間范圍的查詢條件。換言之,Lucene和Solr的范圍查詢和范圍過濾器是實現限制空間的關鍵機制。在范圍查詢(或過濾器)中,用戶聲明需要將所有搜索到的文檔限制在使用自然排序的兩個值之間。例如:通常使用范圍查詢來查找發(fā)生在過去一年
13、或上一個月的所有文檔。在處理過程中,Lucene必須枚舉文檔中的詞匯以識別在這個范圍之內的所有文檔。借助這一功能,構建空間搜索應用程序只需要識別需要添加到應用程序中的、以某種編碼方式文本化的空間數據。這些數據需要以地理編碼的形式出現,如緯度、經度和海拔,或以郵政編碼、街道地址的形式出現。編碼系統(tǒng)的格式越規(guī)范,它在Lucene和Solr中的識別和利用就越容易。Grant Ingersoll在其“使用Apache Lucene和Solr進行位置感知搜索”一文中,給出了一個名為j-spatial的地理搜索源碼實例(),其中就使用了緯度和經度(縮寫為lat/lon,通常用與位于英國的格林威治本初子午線
14、相距的度、分和秒來表示一個地理位置點,該地理數據通常需要用double或更高的精度表示。如在該例子中,美國紐約州的Syracuse市的經度為東經76.150026(如果沒有指定東方,則為-76.150026)和北緯 43.049648。Lucene詞匯(Term)中的緯度和經度通常表示為兩個不同的double型字段,但是這在一些應用程序中可能會顯著影響性能。編碼每個緯度和經度可能導致索引大量唯一的詞匯,這不僅顯著增大了索引文件的尺寸,而且會顯著減慢搜索速度。這個問題可以通過使用Geohash編碼的方法解決,即通過hash散列碼的方式將緯度/經度壓縮編碼到一個String中。Geohash的額外
15、好處是能夠通過切去散列碼末尾的字符來實現任意的精度。因為在許多情況下,相鄰的位置通常有相同的前綴。例如,在 中輸入 Syracuse, NY(美國紐約州的Syracuse市)將生成散列碼dr9ughxjkrt4b,而輸入Syracuse的郊區(qū)Cicero, NY生成散列碼dr9veggs4ptd3,可見它們的共同前綴都是dr9。一旦在Lucene的索引中添加了地理數據(將空間數據和文本合并處理)之后,搜索應用程序就可以在與用戶界面交互時至少實現下述5種基本需求: 距離計算:根據給定點計算它到其他點的距離。 限定框過濾器:查找某些特定區(qū)域內所有匹配項(文檔)。 排序:根據到
16、固定點的距離對搜索結果進行排序。 相關度改進:使用距離作為搜索結果排序的增強因素,同時允許其他因素發(fā)揮作用。 查詢解析:在給出位置的地址或其他一些用戶限定條件時,創(chuàng)建可用于根據索引數據進行搜索的編碼表示。上述5個要素中,排序和相關度改進僅使用距離計算,因此重點是實現距離計算、限定框過濾器和查詢解析這3個方面。距離計算在GIS應用中就是計算大圓弧長(球面兩點之間的最短距離),因此距離計算主要的問題是精度。當兩點之間的距離相隔很遠,或者要求較高的準確度時,需要使用橢圓的地球球面模型和 Vincenty公式來獲取高度精確的距離(可精確到0.5毫米),但通常的本地搜索程序,僅僅是計算在城市中行走的某段
17、距離而已(例如在一輛出租車中穿越紐約城的曼哈頓區(qū)有多遠),因此并不一定都要使用平面地球模型和大圓弧長距離來表示距離。限定框過濾器的作用是縮小文檔集的范圍。如果待索引文檔中僅存儲了緯經度數據,那么縮小文檔集的首選方法是傳入包含指定位置的周邊區(qū)域的范圍(如矩形區(qū)域的界限點數據)。如果待索引文檔中還包含了GIS的分層信息或Geohash編碼,那么可以利用這些值來更好地縮小需要搜索的文檔的范圍。因此,至關重要的是查詢解析功能的實現。查詢解析功能需要確定查詢的哪個部分包含所搜索的關鍵字,哪個部分包含位置信息。后者即被稱為地理編碼(geocoding)。因此,如何將地名和其他空間資源通過規(guī)范化的表示(比如
18、GeoNames)轉換成位置信息是一個關鍵因素。這里面存在著國家地理信息數據規(guī)范化的問題,地名詞匯的表示順序(如中國是從國家省市縣街區(qū)/鄉(xiāng)鎮(zhèn)從大到小的順序,而英美等西方國家則正好相反),規(guī)范化地名縮寫,以及拼寫錯誤、語言歧義和不良臟數據等的影響。雖然地理編碼問題很復雜,但是目前可以使用Web服務來將地址轉換成位置。兩種常用的服務為 Google Maps公共API和GeoNames(不幸的是,使用這些Web服務盡管是免費下載的,但必須遵循其使用條款,通常是帶有某些限制并產生流量計費問題的)。因此可能需要自己編碼實現這一功能。最好從基礎開始(如城市的街道地址、基礎地形測量數據),然后再添加旅游景
19、點名稱等,以及保障系統(tǒng)健壯性的異常處理等。要運行Grant Ingersoll給出的j-spatial地理搜索樣例代碼,需要安裝JDK 1.5 或更高版本和Ant 1.7 或更高版本。安裝步驟為:Step1. unzip j-spatial.zipStep2. cd geospatial-examples Step3. ant install Step4. 啟動Solr:ant start-solr(以后要停止Solr的話就運行ant stop-solr)Step5. 在瀏覽器地址欄中訪問http:/localhost:8983/solr/admin 并確認Solr正常運行。如果安裝正常的話,
20、應該能看到一個帶有查詢框的基礎管理員界面。總之,使用Lucene和Solr基于點的位置模型是可以實現搜索、排序和過濾文本文檔功能的。如果要構建一個可靠的位置感知搜索應用程序,用于合并基于點的位置的結構和非結構化文本,那么使用Lucene 和Solr是可行的。因此,本課題擬利用開源項目Lucene和Solr,基于Eclipse Java IDE/MyEclipse集成開發(fā)環(huán)境,設計實現一個能夠基于點的位置信息進行地理信息查詢的搜索引擎系統(tǒng)。這是對學生的Java編程開發(fā)技能和利用軟件工程的分析設計思想和相關技術實現項目開發(fā)目標的動手能力進行的一次較全面深入的考察。通過本課題,學生可以進一步了解基于
21、面向對象的分析設計思想,結合設計模式和純面向對象編程Java語言工具,參考j-spatial地理搜索樣例代碼,分析設計與實現一個具有基本搜索引擎框架和流程、模塊功能完整的位置感知搜索引擎系統(tǒng)的全過程,學生可基于課題的成果開展互聯網創(chuàng)業(yè)或就業(yè),并且更進一步理解和掌握軟件工程的方法論,深入熟悉和掌握面向對象的編程高級語言Java以及基于Eclipse Java IDE/MyEclipse集成開發(fā)環(huán)境,同時對Lucene、Solr、地理編碼(Geocoding)和地理名稱服務(GeoNames)、Ant等流行開源項目或空間信息技術的實現細節(jié)會有一個深入的了解和綜合應用。具體在本課題中,建議使用如下的
22、解決方案:1、操作系統(tǒng)平臺采用Windows或Linux系統(tǒng)平臺;2、Web服務器采用Tomcat v5.5以上版本;(下載地址:/tomcat/tomcat-5/),Ant建議采用v1.7以上版本,下載地址:http:/pan.solr.cc/share/link?shareid=181778&uk=352829242#dir/ path=%2Fwww.solr.cc%E5%85%B1%E4%BA%AB%E8%B5%84%E6%BA%90;若采用Eclipse Java IDE集成開發(fā)環(huán)境的話,還需要下載并安裝Eclipse的Tomcat
23、 插件TomcatPlugin;(下載地址:/eclipse/index.jsp)3、數據庫采用MySQL v5.0以上版本;(下載地址:)若使用Java連接到MySQL數據庫,還需要用到MySQL Connector/J即MySQL的JDBC連接驅動包;(下載地址:4、JDK建議采用至少v_07或以上版本;(下載地址:/download.html)5、集成開發(fā)環(huán)境建議采用Eclipse或MyEclipse;(下載地址:)注:若需要Eclipse支持中文界面,則需要另下載Eclipse SDK的2個語言包: http:/downloa
24、/eclipse/downloads/;此外,建議下載安裝使用如下Eclipse插件:Eclipse插件ResourceBundleEditor v ,下載地址:Eclipse插件MyEclipse v 6、全文搜索引擎框架平臺Lucene建議使用v2.9及其以上版本(目前最新為v4.6.0版,下載地址:,Lucene的官方網站為:;對應中文站點:7、地理信息搜索引擎建議采用開源項目Solr版本v2.0及其以上,目前最新版本為v4.6.0。下載地址:http:/pan.solr.cc/share/link?shareid=
25、181778&uk=352829242#dir/path=%2Fwww.solr.cc%E5% 85% B1%E4%BA%AB%E8%B5%84%E6%BA%90注:Solr需要用到如下大量的工具類庫(均需要單獨下載安裝在./lib/目錄下)ant-1.7.2.jarcommons-httpclient-.jarjsp-api-1.4.jarservlet-api-2.4.jar8、使用點位置經緯度坐標和GeoNames Web服務的地理搜索源碼實例j-spatial,下載地址: dw/java/j-spatial.zip。需要參考該樣本例子中的Geospatial-examples源
26、碼,該實例需要包含下述類庫:geonames-java5.jarlucene-spatial-.jarspatial-ex.jar9、由于Lucene不帶中文文本分析器不支持中文,需要選用一個第三方的中文分詞軟件。目前支持Lucene的幾個主要的中文分詞器工具有:paoding、imdict、mmseg4j、ik、JE:(1) paoding:Lucene中文分詞“庖丁解?!保≒aoding Analysis),由qieqie.wang提交在google code上,最后一次代碼提交時間為2008年06月12日。速度上,paoding在PIII 1G內存的PC上,1秒可準確分詞100萬個漢字,
27、支持不限個數的用戶自定義詞庫,純文本格式,一行一詞,并使用后臺線程檢測詞庫的更新,其源碼目錄一共1.3M,有6個properties文件,48個Java文件,6895行,切分算法不是很復雜。(2) imdict:imdict智能詞典所采用的智能中文分詞程序,由XiaoPingGao最后一次提交在2009-07-24(要進入lucene contribute,lucene trunk 中contrib/analyzers/smartcn/)。速度大約是259517(漢字/秒),暫時不支持用戶自定義詞庫(但中科院原版ICTCLAS支持)。詞庫約6.7M大?。ㄟ@個詞庫是必須的),源碼src目錄約15
28、2KB,20個Java文件,2399行。它使用ICTCLAS HHMM隱馬爾科夫模型,“利用大量語料庫的訓練來統(tǒng)計漢語詞匯的詞頻和跳轉概率,從而根據這些統(tǒng)計結果對整個漢語句子計算最似然(likelihood)的切分”。由于是利用詞庫分詞,每個被分出來的詞都可同時被賦予相應詞性標記,劃分結果因而相當準確。不過美中不足的是它常出現代碼運行異常的情況。(3) mmseg4j:使用Chih-Hao Tsai的MMSeg算法實現的中文分詞器,由chenlb2008提交在google code上,最后一次代碼上傳時間為2009-08-03。mmseg4j自帶sogou詞庫,支持名為wordsxxx.dic
29、,utf8文本格式的用戶自定義詞庫,一行一詞。不支持自動檢測。速度方面,對于復雜句子切分大約1200kb/s左右,svn src目錄一共132k,23個Java文件,2089行。MMSeg算法較復雜。(4) ik:采用特有的“正向迭代最細粒度切分算法”的多子處理器分析模式。由linliangyi2005提交在google code上,最后上傳維護代碼為2009-07-31,支持API級的用戶詞庫加載,具有50萬字/秒的高速處理能力,svn src目錄一共6.6M(詞典文件也在里面),22個Java文件,4217行。切分算法采用多子處理器分析模式,跟paoding類似。(5) JE(je ana
30、lysis):支持Lucene的另一個Java開源項目JE分詞器,采用簡單的正向二分法切分,提供API添加新詞,切分效果不如以上的工具好(下載地址:)。建議選用目前國內在Solr中使用較多的mmseg4j中文分詞工具。本課題預期目標(含:本課題應完成的工作,課題預期目標和課題價值估計)利用開源項目Lucene和Solr,基于Eclipse Java IDE/MyEclipse集成開發(fā)環(huán)境,設計實現一個能夠基于點的位置信息進行地理信息查詢的搜索引擎系統(tǒng)。這是對學生的Java編程開發(fā)技能和利用軟件工程的分析設計思想和相關技術實現項目開發(fā)目標的動手能力進行的一次較全面深入的考察。通過本課題,學生可以
31、進一步了解基于面向對象的分析設計思想,結合設計模式和純面向對象編程Java語言工具,參考j-spatial地理搜索樣例代碼,分析設計與實現一個具有基本搜索引擎框架和流程、模塊功能完整的位置感知搜索引擎系統(tǒng)的全過程,學生可基于課題的成果開展互聯網創(chuàng)業(yè)或就業(yè),并且更進一步理解和掌握軟件工程的方法論,深入熟悉和掌握面向對象的編程高級語言Java以及基于Eclipse Java IDE/MyEclipse集成開發(fā)環(huán)境,同時對Lucene、Solr、地理編碼(Geocoding)和地理名稱服務(GeoNames)、Ant等流行開源項目或空間信息技術的實現細節(jié)會有一個深入的了解和綜合應用。課題要求完成:必
32、要的文檔閱讀、資料整理工作;(指導教師有特定要求)必要的系統(tǒng)需求分析和架構設計;(分析部分的成果文檔需要有大量的對于Lucene和Solr的源碼閱讀整理工作,建議Java語言程度較好的學生完成該項工作)可能的數據庫分析設計工作;參考地理搜索源碼實例j-spatial,設計實現一個基于位置點的經緯度坐標和Geonames地名服務的地理搜索引擎系統(tǒng),系統(tǒng)應至少支持距離計算、限定框過濾器、排序(根據到固定點的距離對搜索結果進行排序)和查詢解析功能;必要的前端界面編程實現、后臺配置及系統(tǒng)管理維護等功能。提供的外部條件可利用1臺已接入互聯網的PC構建開發(fā)及應用環(huán)境。建議使用Windows系統(tǒng)平臺,具體配
33、置不限。集成開發(fā)環(huán)境限Eclipse Java IDE或MyEclipse,具體的組件請參考“立題依據”中的解決方案。主要參考資料 有關Lucene和Solr的學習,請首先閱讀下述文章或參考書籍:1Grant Ingersoll,使用Apache Lucene和Solr進行位置感知搜索EB/OL. /software/dw/java/j-spatial.zip,2010-02-222Erik Hatcher,Otis Gospodnetic,Michael McCandless. Lucene實戰(zhàn)(Lucene In Action,第2版)M.北京:人民郵電出版社,2011 3 David S
34、miley, Faceting in Solr 1.4 Enterprise Search ServerM.NY: Packt Publishing,20094吳眾欣,沈家立. Lucene分析與應用M.北京: 機械工業(yè)出版社,2008更多有關Solr的問題,請重點參考其官方主頁上的資源。推薦首先閱讀官網上的電子版Solr開發(fā)手冊()。若仍有開發(fā)編碼方面的細節(jié)問題,可訪問國內人氣旺旺的Solr中國社區(qū)()。有關Geography和GIS方面的學習,請訪問這個Wikipedia頁面并了解關于GIS、地理信息編碼、Geohash、距離計算、限定框方面的入門信息:。有關公共地理編碼服務,請訪問Google Maps( services.html#Geocoding)和GeoNames()。有關J2EE設計模式、JDK類庫、Java Web開發(fā)編碼方面的參考資料,請參考如下書籍:1克勞福
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年四川省西南醫(yī)科大學選調筆試真題
- 2024年四川阿壩師范學院選調筆試真題
- 2024年廈門銀行福建漳州分行招聘筆試真題
- 2024年莆田九十五醫(yī)院招聘筆試真題
- 2024年馬鞍山市福利院招聘筆試真題
- 2024年吉安縣農業(yè)農村局招聘筆試真題
- 行業(yè)最佳實踐分享與討論計劃
- 法學概論論文寫作指導試題及答案
- 信息處理技術員考題及答案收錄
- 2025屆江蘇省揚州市儀征市第三中學數學八下期末經典模擬試題含解析
- 巴西詳細教案
- 基于PLC控制的物料分揀系統(tǒng)設計
- 上期開特下期出特公式
- 案件進度管理規(guī)定表--執(zhí)行
- 人教部編版七年級歷史下冊教材插圖匯總
- 建筑工程竣工驗收報告山西
- 啟閉機房腳手架工程施工專項方案
- 變更監(jiān)事模板
- 前部分拼音四聲調
- 標準工程量清單細目編號公路工程
- 股東大會律師見證的法律意見書范本
評論
0/150
提交評論