1. 程式人生 > >白話Lucene和solr的區別是什麼?(二)

白話Lucene和solr的區別是什麼?(二)

直接來一段英文看

Many people new to Lucene and Solr will ask the obvious question: Should I use Lucene or Solr?

The answer is simple: if you're asking yourself this question, in 99% of situations, what you want to use is Solr.

A simple way to conceptualize the relationship between Solr and Lucene is that of acar

and its engine. You can't drive an engine, but you can drive a car. Similarly, Lucene is a programmatic library which you can't use as-is, whereas Solr is a complete application which you can use out-of-box.

英語好的,就看上面就ok了.不用看了。


英語不好的沒問題:
Solr和Lucene的關係就是汽車和它的發動機的關係.
lucene 就相當於發動機 ,solr就相當於汽車。

你不能直接開發動機(光禿禿的一個嗡嗡響的四方發動機,沒看過的去看看,問問度娘)這個就是Lucene,但是你可以開車啊(四個圈圈,加一個發動機,加上一些鐵皮,汽油等組成的鐵殼子),這個就是solr


用上面的話覺得解釋的土:
優雅的:


Lucene更像是一個SDK。


有完整的API族以及對應的實現。

你可以利用這些在自己的應用裡實現高階查詢(基於倒排索引技術的),Lucene對單機或者桌面應用很實用很方便。
但是Lucene,需要開發者自己維護索引檔案,在多機環境中備份同步索引檔案很是麻煩。於是,就有了Solr。

而Solr是一個有HTTP介面的基於Lucene的查詢伺服器.

封裝了很多Lucene細節,自己的應用可以直接利用諸如 .../solr?q=abc 這樣的HTTP GET/POST請求去查詢,維護修改索引


所以說:

Solr和Lucene的本質區別有以下三點:搜尋伺服器,企業級和管理。
Lucene本質上是搜尋庫,不是獨立的應用程式。而Solr是。
Lucene專注於搜尋底層的建設,而Solr專注於企業應用。
Lucene不負責支撐搜尋服務所必須的管理,而Solr負責。
一句話概括Solr: 
Solr是Lucene面向企業搜尋應用的擴充套件
我們能用Lucene直接開發嗎?

比如我想在汽車在小轎車上車頂上裝一個避雷針(防止挨劈)

能.給你一個發動機,找鐵皮 ,找汽油,找管子,找。。。。。我可以自己組成一個小汽車,然後在小汽車的車頂上我在裝一個避雷針.ok我的工作完成了。

我們能用solr直接開發嗎?

比如我想在汽車在小轎車上車頂上裝一個避雷針(防止挨劈)

能.在小汽車的車頂上我在裝一個避雷針.ok我的工作完成了。


所以說:

solr基於Lucene的擴充套件而已,筆者釋出文章時

看到了釋出的版本是


Apache Lucene 6.4.1  Apache Solr 6.4.1