全文検索/Solr
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
-Solr
*Solr [#s7cf6d78]
**設定値の外部化 [#u30f2247]
システムプロパティを設定ファイルに利用可能。
tomcatならcatalina.propertiesかsetenv.shに設定しておき、
${solr.master.enable}のような形で利用する。
**SOLR_HOME [#w11a7c40]
|ディレクトリ名|必須or任意|説明|
|conf|必須|solrconfig.xmlやschema.xml|
|data|必須|index格納|
|lib|任意|pluginのjar|
|bin|任意|レプリケーションスクリプト置き場|
**4.0インストール [#t7c18639]
試しに使ってみるだけなら、組み込みjettyで起動すると楽。TO...
5.x系からスタンドアロンとなりサーブレットコンテナ不要にな...
***組み込みJettyでお試し [#la7cf05b]
cd SOLR_HOME/example/
java -jar start.jar
http://localhost:8983/solr
cd SOLR_HOME/example/exampledoc
sh post.sh *.xml
管理画面の[Core Admin]でリロードする。
***SOLR_HOME [#c5a8772c]
解凍ディレクトリ/example/solrを指定する。
**利用サイト [#ea32625e]
-Yahoo! JAPAN
-E bay
-CookPad
**冗長構成 [#u2e57b09]
master/slave構成と新しいSolrCloudという仕組みがある。prop...
***4.x系のmaster/slave [#rd5e24e5]
http://x1.inkenkun.com/archives/254
-masterのsolrconfig.xml
<requestHandler name="/replication" class="solr.Replica...
<lst name="master">
<str name="enable">true</str>
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
<str name="confFiles">schema.xml,stopwords.txt</...
<str name="commitReserveDuration">00:00:10</str>
</lst>
</requestHandler>
-slaveのsolrconfig.xml
<requestHandler name="/replication" class="solr.Replica...
<lst name="slave">
<str name="enable">true</str>
<str name="masterUrl">http://153.127.201.48:8080...
<str name="pollInterval">00:00:60</str>
</lst>
</requestHandler>
*solr.xmlの探索ロジック [#l22a1d9c]
solr.xmlとその下部にぶら下がるcoreのsolrconfig.xmlが必要...
http://blog.johtani.info/blog/2013/06/11/new-solr-xml/
**Solrクエリ [#c9dbc186]
-ちょっと特殊なので注意。フィールドを指定するがテーブル名...
-備考(note)がtestかつ値段が5万以下
q=note:test AND price:[* to 50000]
-ソートさせる
sort=price desc
*スキーマ [#qe8b272a]
DBで一般的な型(type)以外にも留意しておくべき点をまとめる...
|indexed|インデックスが作成されそのフィールドで検索および...
|stored|値を検索結果に含めるか|
|multiValued|1レコード(ドキュメント)に複数値を含めるか?|
**列定義 [#b53212da]
dynamicFieldを利用すると、名前が一致するものはその定義が...
**アナライザ [#f2108bd1]
アナライザを使うにはsolr.TextField型を指定して、<analyzer...
*クエリ 4.0 [#yf54e2e9]
**SQLとの対比 [#t280157d]
|SQL|Solr|
|field = "hoge"|fq=field:hoge|
|field LIKE "hoge%"|fq=field:hoge*|
|field NOT LIKE "hoge%"|fq=field:-hoge*|
|field IS NOT NULL|fq=field:[* TO *]|
|field IS NULL|fq=-field:[* TO *]|
|field > 2012 AND field < 2013|fq=field:[2012 TO *]&fq=fi...
|field BETWEEN 2012 AND 2013|fq=field:[2012 TO 2013]|
|ORDER BY field ASC|sort=field asc|
**Solr Admin利用 [#h4d3ebee]
***全部消す [#tb2fea55]
/update?
|全部消す|?stream.body=<delete><query>*:*</query></delete...
|指定|?stream.body=<delete><query>id:GB18030TEST</query><...
終了行:
-Solr
*Solr [#s7cf6d78]
**設定値の外部化 [#u30f2247]
システムプロパティを設定ファイルに利用可能。
tomcatならcatalina.propertiesかsetenv.shに設定しておき、
${solr.master.enable}のような形で利用する。
**SOLR_HOME [#w11a7c40]
|ディレクトリ名|必須or任意|説明|
|conf|必須|solrconfig.xmlやschema.xml|
|data|必須|index格納|
|lib|任意|pluginのjar|
|bin|任意|レプリケーションスクリプト置き場|
**4.0インストール [#t7c18639]
試しに使ってみるだけなら、組み込みjettyで起動すると楽。TO...
5.x系からスタンドアロンとなりサーブレットコンテナ不要にな...
***組み込みJettyでお試し [#la7cf05b]
cd SOLR_HOME/example/
java -jar start.jar
http://localhost:8983/solr
cd SOLR_HOME/example/exampledoc
sh post.sh *.xml
管理画面の[Core Admin]でリロードする。
***SOLR_HOME [#c5a8772c]
解凍ディレクトリ/example/solrを指定する。
**利用サイト [#ea32625e]
-Yahoo! JAPAN
-E bay
-CookPad
**冗長構成 [#u2e57b09]
master/slave構成と新しいSolrCloudという仕組みがある。prop...
***4.x系のmaster/slave [#rd5e24e5]
http://x1.inkenkun.com/archives/254
-masterのsolrconfig.xml
<requestHandler name="/replication" class="solr.Replica...
<lst name="master">
<str name="enable">true</str>
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</str>
<str name="confFiles">schema.xml,stopwords.txt</...
<str name="commitReserveDuration">00:00:10</str>
</lst>
</requestHandler>
-slaveのsolrconfig.xml
<requestHandler name="/replication" class="solr.Replica...
<lst name="slave">
<str name="enable">true</str>
<str name="masterUrl">http://153.127.201.48:8080...
<str name="pollInterval">00:00:60</str>
</lst>
</requestHandler>
*solr.xmlの探索ロジック [#l22a1d9c]
solr.xmlとその下部にぶら下がるcoreのsolrconfig.xmlが必要...
http://blog.johtani.info/blog/2013/06/11/new-solr-xml/
**Solrクエリ [#c9dbc186]
-ちょっと特殊なので注意。フィールドを指定するがテーブル名...
-備考(note)がtestかつ値段が5万以下
q=note:test AND price:[* to 50000]
-ソートさせる
sort=price desc
*スキーマ [#qe8b272a]
DBで一般的な型(type)以外にも留意しておくべき点をまとめる...
|indexed|インデックスが作成されそのフィールドで検索および...
|stored|値を検索結果に含めるか|
|multiValued|1レコード(ドキュメント)に複数値を含めるか?|
**列定義 [#b53212da]
dynamicFieldを利用すると、名前が一致するものはその定義が...
**アナライザ [#f2108bd1]
アナライザを使うにはsolr.TextField型を指定して、<analyzer...
*クエリ 4.0 [#yf54e2e9]
**SQLとの対比 [#t280157d]
|SQL|Solr|
|field = "hoge"|fq=field:hoge|
|field LIKE "hoge%"|fq=field:hoge*|
|field NOT LIKE "hoge%"|fq=field:-hoge*|
|field IS NOT NULL|fq=field:[* TO *]|
|field IS NULL|fq=-field:[* TO *]|
|field > 2012 AND field < 2013|fq=field:[2012 TO *]&fq=fi...
|field BETWEEN 2012 AND 2013|fq=field:[2012 TO 2013]|
|ORDER BY field ASC|sort=field asc|
**Solr Admin利用 [#h4d3ebee]
***全部消す [#tb2fea55]
/update?
|全部消す|?stream.body=<delete><query>*:*</query></delete...
|指定|?stream.body=<delete><query>id:GB18030TEST</query><...
ページ名: