dizinine eklendiğinde, sayfa 400 hatalı istek döndürür. Ve solr başlatıldı ve veri tabanından veri alabilir. Bu yüzden verileri dizine koymam gerek. Ancak, her zaman başarısız oldu.Uzak sunucu bir hata verdi: (400) Hatalı İstek. İndekslemek için dokümanlar eklediğimde dokümanlar
1) Burada SolrBaseRepository
kod pasajı/// <summary>
/// Base repository for Solr
/// </summary>
public class SolrBaseRepository
{
/// <summary>
/// New instance of Solr
/// </summary>
/// <typeparam name="T">Specific type</typeparam>
public class Instance<T>
{
/// <summary>
/// Start Solr instance for a specific type
/// </summary>
public void Start()
{
var instances = Startup.Container.GetAllInstances(typeof (ISolrOperations<T>));
if (instances.Count() == 0)
{
Startup.Init<T>(Toolbox.SolrUrl);
}
}
}
}
2) burada schemal.xml ana parçası olduğu
<fields>
<field name="id" type="int" indexed="true" stored="true" required="true" />
<field name="firstname" type="text" indexed="true" stored="false"required="false" />
<field name="lastname" type="text" indexed="true" stored="false" required="false" />
<field name="position" type="text" indexed="true" stored="false" required="false" />
<field name="text" type="text" indexed="true" stored="false" multiValued="true" />
</fields>
<copyField source="firstname" dest="text" />
<copyField source="lastname" dest="text" />
<copyField source="position" dest="text" />
<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="AND" />
3) solrurl: http://localhost:8080/solr
<appSettings>
<add key="SolrUrl" value="http://localhost:8080/solr"/>
</appSettings>
4) hata Burada:
/// <summary>
/// Add all players to the index
/// </summary>
public void IndexPlayers()
{
new SolrBaseRepository.Instance<Player>().Start();
var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Player>>();
var players = new PlayerRepository().GetPlayers();
**solr.Add(players);** // The remote server returned an error: (400) Bad Request.
solr.Commit();
}
new SolrBaseRepository.Instance() .Start(); var solr = ServiceLocator.Current.GetInstance >(); var specificPlayer = new PlayerRepository(). GetPlayer (player.FirstName, player.LastName, player.Position); solr.Add (specificPlayer); solr.Commit(); –
Benny
Lütfen kodu doğru şekilde biçimlendirilmiş soruya gönderin. Ayrıca SolrBaseRepository tanımını gönderin. –
ayrıca Player ve schema.xml dosyanızın tanımını da yayınlar. –