solrの基礎知識
solr 1.4バージョン準備 ダウンロード先:http://lucene.apache.org/solr
最新のソースダウンロードアドレス:https://svn.apache.org/repos/asf/lucene/dev/trunk
ソースコードの使用説明、ant構築、
コマンド:ant testランニングユニットテスト用
ant distはbuildに使用され、jarとwarパッケージが生成されます.
ant exampleは実行可能な例を作成する.
ant cleanプロジェクトのクリーンアップ
ant run-exampleは、この例を作成して実行する.
ant generate-maven-artifacts mavenのコンポーネントを作成する
ant packageはzip,tgzパケット,mavenコンポーネントを作成する.
牙列缺损see: http://www.getopt.org/luke/
2 .ディレクトリ構造の説明
•build:built終了後の保存ディレクトリ.
•client:Solrに直接アクセスできる特定の言語APIsが含まれています.Rubyやjava(SolrJ)がHTTPでXMLをSolrサーバに送信するなど、多くの言語ができます.
•dist:builtを含むSolr JARとWARファイルと各種コンポーネントパッケージ
•example:Jetty servletエンジンがインストールされており、いくつかのサンプルデータとSolrの構成が含まれています.ディレクトリ構造は次のとおりです.
°example/etc:Jettyのプロファイルおよびその他.
°example/multicore:Solrマルチコアの設定.
°example/solr:デフォルトsolrホーム
°example/webapps:SolrのWebプロジェクトサービスディレクトリ.デフォルトのサービスポートは8983です.
•lib:依存パッケージ.
•site:公開されたSolrのWebサイトの管理
•src:次のようなソースコードが含まれます.
°src/java:SolrのJAVAソースコード.
°src/scripts:Unix bashスクリプト、particularly useful
°src/solrj:Solrのjavaクライアント.
°src/test:Solrのtestソースコードとtestファイル.
°src/webapp:Solrのweb administration構成インタフェース、JavaサーブレットとJSPsを含む.warファイルの構成構造です
Web/admin/はadminユーザーとしてのインタフェースであり、必要に応じてファイルを変更することができます.
3.solrホーム説明
ここでは主にsolrのプロファイルとデータファイルについて説明するが、マルチコアベースのプロファイルはconf/multicoreを参照することができる.xml
•bin:Solrレプリケーションスクリプトの配置を推奨
•conf:プロファイル.このうち2つのプロファイルが重要である.
• conf/schema.xml:定義するインデックスフィールドschemaの定義とする.http://localhost:8983/solr/admin/
• conf/solrconfig.xml:Solrマスタープロファイル
•conf/xslt:このディレクトリはXSLTファイルを使用して、Atom/RSSのようなSolrが返すXMLのクエリー結果フォーマットを構成します.
•data:実際のLuceneインデックスデータを含む.実はlinkフォルダでもいいです.
•lib:信頼パッケージとwarパッケージ.
4.solr環境変数設定
1)solrを設定できる.solr.home=%solrインストールディレクトリ%
2)solrのホームディレクトリで実行可能
cd example
java -jar start.jar
coreが1つしかない場合はアクセスできますhttp://localhost:8983/solr/admin/
5.solr快速学習
説明:
•SCHEMA:schemaプロファイル(XML)を直接ダウンロード
•CONFIG:選択SCHEMAを指定します.これはSolrの主な構成です.
•ANALYSIS:クエリー/インデックスの問題を診断できます.クエリー・テキストを分析することもできます.分詞器のような画面が表示されます.
•SCHEMA BROWSER:これは、異なるschemaによって異なるデータとインデックスを示すクエリです.
•STATISTICS:応答時間とヒット率の統計です.インデックスに含まれるファイルの数(numDocs)、ディレクトリ(readerDir)に注意してください.maxDocsの1つはインデックスされたdocumentの数を表していますが、numDocsと同じ場合もあります.異なる場合もあります.これは主にmaxDocsが以前のデータである可能性があります.updateを実行すると、実際の数になります.また、インデックスがロードされるタイミングと、インデックスにどのくらいのドキュメントがあるかについての情報、クエリーをサービスするSolrRequestHandlerに関する有用な情報もあります.追加、削除、コミットなどのインデックス・プロシージャを含むデータ.実装とhit/miss/eviction情報などをキャッシュする.
•INFO:内部バージョンの基本情報、p{margin-bottom:0.21 cm;}実行中のSolrのバージョンと、現在のインプリメンテーションでクエリー、更新、キャッシュに使用されるクラスの詳細.さらに、Solr subversionリポジトリのどこにファイルが保存されているか、ファイル機能の簡単な説明も含まれています.
•DISTRIBUTION:ここでは、分散/レプリケーション情報の表示について説明します.
• PING: p { margin-bottom: 0.21cm; }サーバにping要求を出すsolrconfig.xmlファイルのadmin部分で定義要求は、分散プロセスで発生したエラーをチェックするために使用される.
•LOGGING:各コンポーネントのログ出力レベルを設定できるログ構成情報.
• JAVA PROPERTIES: p { margin-bottom: 0.21cm; }現在のシステムで使用されているJavaシステムのすべてのプロパティを表示
•THREAD DUMP:javaスレッドを表示し、java開発者のデバッグに役立ちます
FULL INTERFACE:高度なクエリーまたは多条件クエリーで、より豊富で細かいクエリー入力インタフェースを提供する.
6.サンプルデータのロード
所在ディレクトリ:example/exampledocs、コマンドは以下の通りです.
exampledocs$ java -jar post.jar *.xml
monitor.xmlの例:
テキストmonitorをクエリーすると、次の結果が表示されます.
URLバーは次のとおりです.http://localhost:8983/solr/select/?q=monitor&version=2.2&start=0&rows=10&indent=on
パラメータの説明:
パラメータ
説明
例
q
Solrで検索するクエリー.この構文の詳細については、リファレンスの「Lucene QueryParser Syntax」を参照してください.ソート情報は、セミコロンとインデックス化され、ブレークスルーされていないフィールド(後述)の名前を追加して含めることができます.デフォルトのソートはscore descで、スコア降順でソートされます.
q=myField:Java AND otherField:developerWorks; date ascこのクエリは、指定した2つのフィールドを検索し、1つの日付フィールドに基づいて結果をソートします.
start
結果セットに初期オフセット量を指定します.結果をページングするために使用できます.既定値は0です.
start=15は、15番目の結果からの結果を返します.
rows
ドキュメントの最大数を返します.既定値は10です.
rows=25
fq
オプションのフィルタ・クエリーを指定します.クエリーの結果は、フィルタ・クエリーが返す結果のみを検索するように制限されます.フィルタされたクエリはSolrによってキャッシュされます.複雑なクエリーの高速化に役立ちます.
qパラメータで伝達できる有効なクエリーは、ソート情報を除く.
hl
hl=trueの場合、クエリ応答にクリップが目立つように表示されます.デフォルトはfalseです.詳細は、パラメータの「Solr Wiki」セクションを参照してください(参考資料を参照).
hl=true
fl
カンマで区切られたリストとして、ドキュメントの結果に返されるFieldセットを指定します.デフォルトは「*」で、すべてのフィールドを指します.「score」とは、スコアを返すことを意味します.
*,score
最新のソースダウンロードアドレス:https://svn.apache.org/repos/asf/lucene/dev/trunk
ソースコードの使用説明、ant構築、
コマンド:ant testランニングユニットテスト用
ant distはbuildに使用され、jarとwarパッケージが生成されます.
ant exampleは実行可能な例を作成する.
ant cleanプロジェクトのクリーンアップ
ant run-exampleは、この例を作成して実行する.
ant generate-maven-artifacts mavenのコンポーネントを作成する
ant packageはzip,tgzパケット,mavenコンポーネントを作成する.
牙列缺损see: http://www.getopt.org/luke/
2 .ディレクトリ構造の説明
•build:built終了後の保存ディレクトリ.
•client:Solrに直接アクセスできる特定の言語APIsが含まれています.Rubyやjava(SolrJ)がHTTPでXMLをSolrサーバに送信するなど、多くの言語ができます.
•dist:builtを含むSolr JARとWARファイルと各種コンポーネントパッケージ
•example:Jetty servletエンジンがインストールされており、いくつかのサンプルデータとSolrの構成が含まれています.ディレクトリ構造は次のとおりです.
°example/etc:Jettyのプロファイルおよびその他.
°example/multicore:Solrマルチコアの設定.
°example/solr:デフォルトsolrホーム
°example/webapps:SolrのWebプロジェクトサービスディレクトリ.デフォルトのサービスポートは8983です.
•lib:依存パッケージ.
•site:公開されたSolrのWebサイトの管理
•src:次のようなソースコードが含まれます.
°src/java:SolrのJAVAソースコード.
°src/scripts:Unix bashスクリプト、particularly useful
°src/solrj:Solrのjavaクライアント.
°src/test:Solrのtestソースコードとtestファイル.
°src/webapp:Solrのweb administration構成インタフェース、JavaサーブレットとJSPsを含む.warファイルの構成構造です
Web/admin/はadminユーザーとしてのインタフェースであり、必要に応じてファイルを変更することができます.
3.solrホーム説明
ここでは主にsolrのプロファイルとデータファイルについて説明するが、マルチコアベースのプロファイルはconf/multicoreを参照することができる.xml
•bin:Solrレプリケーションスクリプトの配置を推奨
•conf:プロファイル.このうち2つのプロファイルが重要である.
• conf/schema.xml:定義するインデックスフィールドschemaの定義とする.http://localhost:8983/solr/admin/
• conf/solrconfig.xml:Solrマスタープロファイル
•conf/xslt:このディレクトリはXSLTファイルを使用して、Atom/RSSのようなSolrが返すXMLのクエリー結果フォーマットを構成します.
•data:実際のLuceneインデックスデータを含む.実はlinkフォルダでもいいです.
•lib:信頼パッケージとwarパッケージ.
4.solr環境変数設定
1)solrを設定できる.solr.home=%solrインストールディレクトリ%
2)solrのホームディレクトリで実行可能
cd example
java -jar start.jar
coreが1つしかない場合はアクセスできますhttp://localhost:8983/solr/admin/
5.solr快速学習
説明:
•SCHEMA:schemaプロファイル(XML)を直接ダウンロード
•CONFIG:選択SCHEMAを指定します.これはSolrの主な構成です.
•ANALYSIS:クエリー/インデックスの問題を診断できます.クエリー・テキストを分析することもできます.分詞器のような画面が表示されます.
•SCHEMA BROWSER:これは、異なるschemaによって異なるデータとインデックスを示すクエリです.
•STATISTICS:応答時間とヒット率の統計です.インデックスに含まれるファイルの数(numDocs)、ディレクトリ(readerDir)に注意してください.maxDocsの1つはインデックスされたdocumentの数を表していますが、numDocsと同じ場合もあります.異なる場合もあります.これは主にmaxDocsが以前のデータである可能性があります.updateを実行すると、実際の数になります.また、インデックスがロードされるタイミングと、インデックスにどのくらいのドキュメントがあるかについての情報、クエリーをサービスするSolrRequestHandlerに関する有用な情報もあります.追加、削除、コミットなどのインデックス・プロシージャを含むデータ.実装とhit/miss/eviction情報などをキャッシュする.
•INFO:内部バージョンの基本情報、p{margin-bottom:0.21 cm;}実行中のSolrのバージョンと、現在のインプリメンテーションでクエリー、更新、キャッシュに使用されるクラスの詳細.さらに、Solr subversionリポジトリのどこにファイルが保存されているか、ファイル機能の簡単な説明も含まれています.
•DISTRIBUTION:ここでは、分散/レプリケーション情報の表示について説明します.
• PING: p { margin-bottom: 0.21cm; }サーバにping要求を出すsolrconfig.xmlファイルのadmin部分で定義要求は、分散プロセスで発生したエラーをチェックするために使用される.
•LOGGING:各コンポーネントのログ出力レベルを設定できるログ構成情報.
• JAVA PROPERTIES: p { margin-bottom: 0.21cm; }現在のシステムで使用されているJavaシステムのすべてのプロパティを表示
•THREAD DUMP:javaスレッドを表示し、java開発者のデバッグに役立ちます
FULL INTERFACE:高度なクエリーまたは多条件クエリーで、より豊富で細かいクエリー入力インタフェースを提供する.
6.サンプルデータのロード
所在ディレクトリ:example/exampledocs、コマンドは以下の通りです.
exampledocs$ java -jar post.jar *.xml
monitor.xmlの例:
<add><doc>
<field name="id">3007WFP</field>
<field name="name">Dell Widescreen UltraSharp 3007WFP</field>
<field name="manu">Dell, Inc.</field>
<field name="cat">electronics</field>
<field name="cat">monitor</field>
<field name="features">30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast</field>
<field name="includes">USB cable</field>
<field name="weight">401.6</field>
<field name="price">2199</field>
<field name="popularity">6</field>
<field name="inStock">true</field>
</doc></add>
テキストmonitorをクエリーすると、次の結果が表示されます.
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="indent">on</str>
<str name="rows">10</str>
<str name="start">0</str>
<str name="q">monitor</str>
<str name="version">2.2</str>
</lst>
</lst>
<result name="response" numFound="2" start="0">
<doc>
<arr name="cat">
<str>electronics</str>
<str>monitor</str>
</arr>
<arr name="features">
<str>
19" TFT active matrix LCD, 8ms response time, 1280 x 1024 native resolution
</str>
</arr>
<str name="id">VA902B</str>
<bool name="inStock">true</bool>
<str name="manu">ViewSonic Corp.</str>
<str name="name">ViewSonic VA902B - flat panel display - TFT - 19"</str>
<int name="popularity">6</int>
<float name="price">279.95</float>
<float name="weight">190.4</float>
</doc>
<doc>
<arr name="cat">
<str>electronics</str>
<str>monitor</str>
</arr>
<arr name="features">
<str>
30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast
</str>
</arr>
<str name="id">3007WFP</str>
<bool name="inStock">true</bool>
<str name="includes">USB cable</str>
<str name="manu">Dell, Inc.</str>
<str name="name">Dell Widescreen UltraSharp 3007WFP</str>
<int name="popularity">6</int>
<float name="price">2199.0</float>
<float name="weight">401.6</float>
</doc>
</result>
</response>
URLバーは次のとおりです.http://localhost:8983/solr/select/?q=monitor&version=2.2&start=0&rows=10&indent=on
パラメータの説明:
パラメータ
説明
例
q
Solrで検索するクエリー.この構文の詳細については、リファレンスの「Lucene QueryParser Syntax」を参照してください.ソート情報は、セミコロンとインデックス化され、ブレークスルーされていないフィールド(後述)の名前を追加して含めることができます.デフォルトのソートはscore descで、スコア降順でソートされます.
q=myField:Java AND otherField:developerWorks; date ascこのクエリは、指定した2つのフィールドを検索し、1つの日付フィールドに基づいて結果をソートします.
start
結果セットに初期オフセット量を指定します.結果をページングするために使用できます.既定値は0です.
start=15は、15番目の結果からの結果を返します.
rows
ドキュメントの最大数を返します.既定値は10です.
rows=25
fq
オプションのフィルタ・クエリーを指定します.クエリーの結果は、フィルタ・クエリーが返す結果のみを検索するように制限されます.フィルタされたクエリはSolrによってキャッシュされます.複雑なクエリーの高速化に役立ちます.
qパラメータで伝達できる有効なクエリーは、ソート情報を除く.
hl
hl=trueの場合、クエリ応答にクリップが目立つように表示されます.デフォルトはfalseです.詳細は、パラメータの「Solr Wiki」セクションを参照してください(参考資料を参照).
hl=true
fl
カンマで区切られたリストとして、ドキュメントの結果に返されるFieldセットを指定します.デフォルトは「*」で、すべてのフィールドを指します.「score」とは、スコアを返すことを意味します.
*,score