マシン192.168.0.113(Centos 5.5)のTomcatで実行されているsolrサーバーをセットアップしました。そして、matchine 192.168.0.114 (Windows server 2003) に Web サイトをデプロイします。matchine 192.168.0.114 で solrnet を使用しています。以下のような完全なコード(@Paige Cookのおかげで編集されています):
using System;
using System.Collections.Generic;
using System.Text;
using SolrNet;
using NUnit.Framework;
using SolrNet.Attributes;
using SolrNet.Commands.Parameters;
using Microsoft.Practices.ServiceLocation;
namespace MySolrNet
{
public class Video
{
private string videoid;
[SolrField("videoid")]
public string Videoid
{
get { return videoid; }
set { videoid = value; }
}
private string videoname;
[SolrField("videoname")]
public string Videoname
{
get { return videoname; }
set { videoname = value; }
}
private string videoorigin;
[SolrField("videoorigin")]
public string Videoorigin
{
get { return videoorigin; }
set { videoorigin = value; }
}
public Video(string id, string name, string origin)
{
this.Videoid = id;
this.Videoname = name;
this.Videoorigin = origin;
}
public Video()
{
}
public void FixtureSetup()
{
Startup.Init<Video>("http://192.168.0.113:8070/solr");
}
public void Add()
{
Video p = new Video("1", "test video", "Solr Test");
ISolrOperations<Video> solr = ServiceLocator.Current.GetInstance<ISolrOperations<Video>>();
solr.Add(p);
solr.Commit();
}
}
[TestFixture]
public class VideoTests
{
[TestFixtureSetUp]
public void FixtureSetup()
{
Startup.Init<Video>("http://192.168.0.113:8070/solr");
}
[Test]
public void Add()
{
Video p = new Video("1", "test video", "Solr Test");
ISolrOperations<Video> solr = ServiceLocator.Current.GetInstance<ISolrOperations<Video>>();
solr.Add(p);
solr.Commit();
}
[Test]
public void Query()
{
ISolrOperations<Video> solr = ServiceLocator.Current.GetInstance<ISolrOperations<Video>>();
SolrQueryResults<Video> results = solr.Query(new SolrQueryByField("videoid", "33013"));
Assert.AreEqual(1, results.Count);
Console.WriteLine(results[0].Videoname);
}
}
}
ただし、追加とクエリの両方のテストが失敗します。それは不平を言います: TestFixture に失敗しました: SetUp : System.IO.FileLoadException : ファイルまたはアセンブリを読み込めませんでした"SolrNet, Version=0.4.0.2002, Culture=neutral, PublicKeyToken=bc21753e8aa334cb" またはその依存関係の 1 つ。
しかし、私は自分のプロジェクトに Microsoft.Practices.ServiceLocation.dll と SolrNet.dll への参照を追加しました。他に見逃している dll ファイルはありますか?
ところで、私はこの url:http://192.168.0.113:8070/solr を使用して、ブラウザで自分の solr サーバーにアクセスできます。
誰でも教えてもらえますか:
- solrnet と solr を異なるマシンで実行できますか?
- どうやってするの。
どうもありがとう!