2017-11-25 9 views
0

SolrはLuceneを使用し、Luceneは逆インデックスを使用します。しかし、私が今まで見てきたLuceneの例から、私はSolrとどのように組み合わせられているのか分かりません。Solrはどのようにドキュメントを格納しますか

次のドキュメントを考える:私はこれまで見てきた例から

<doc> 
    <field name="id">9885A004</field> 
    <field name="name">Canon PowerShot SD500</field> 
    <field name="manu">Canon Inc.</field> 
    <field name="inStock">true</field> 
</doc> 

を、私はLuceneのドキュメントとして各フィールドを処理するために持っていると思うだろう。その後、ordキャノンがフィールドnameとフィールドmanuに現れます。

インデックスはこれほど大きく分類されていますか?あるいは、索引は「キヤノンという言葉は、そのようなIDを持つ文書に現れます」としか言いませんか?

LuceneでSolrを使用すると、これはどのように正確に動作しますか? このドキュメントはインデックスでどのように見えますか? (それぞれのフィールドにはindexed="true"があると仮定します)

+1

することはでき([2013年のLucene/Solrの革命からのプレゼンテーションのうちの1つを介してどのようにLuceneの店舗データについての詳細な荒廃]取得https://www.slideshare.net/lucenerevolution/what -is-inaluceneagrandfinal)である。 DocValuesが言及されているかどうかはわかりません.DocValuesは、特定の操作を高速化する通常の逆インデックスとは対照的に、列指向のストレージです。 – MatsLindh

+0

@MatsLindh情報をありがとう! – user3813234

答えて

1

私は数年前にブログ記事を作成し、詳細を説明しました[1]。この質問へ

短い答え:

「私がこれまで見てきた例から、私はLuceneのドキュメントとして各フィールドを処理するために持っていると思うだろう。」

絶対にありません。 Luceneの情報単位は、mapフィールド - > value [s]で構成されるドキュメントです。 Solrドキュメントは、フィールドが記述されているスキーマをSolrに組み込んでいるため、わずかに異なる表現です。 したがって、Luceneでは、ドキュメントを作成するときに明示的に定義する必要があるのに対し、Solrでは、タイプとその他のプロパティ(スキーマに格納されているもの)を記述することなく、フィールドにドキュメントを追加するだけで済みます。

[1] https://sease.io/2015/07/26/exploring-solr-internals-the-lucene-inverted-index/

関連する問題