WebService::Solr を使った追加と検索のサンプル。
WebService::Solr 0.11
localhost:8983
でsolrをうごかしているとき。
solr 1.4.1 のサンプルとか。
#!/usr/bin/perl use WebService::Solr; use WebService::Solr::Query; my $solr = WebService::Solr->new; my @fields; my $id_field = WebService::Solr::Field->new( id => 'foobar' ); my $price_field = WebService::Solr::Field->new( price => 10000 ); push(@fields, $id_field); push(@fields, $price_field); my $doc = WebService::Solr::Document->new; $doc->add_fields( @fields ); $doc->boost( 2.0 ); my $id = $doc->value_for( 'id' ); print $doc->to_xml()."\n"; my @docs; push(@docs, $doc); $solr->add( @docs ); my $query = WebService::Solr::Query->new( { id => 'foobar' } ); my $response = $solr->search( $query ); for my $doc ( $response->docs ) { print $doc->value_for( 'id' )."\n"; }
実行結果
<doc boost="2"><field name="id">foobar</field><field name="price">10000</field></doc> foobar