本文介绍了Solrj从Android的索引文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用Solrj从我的Andr​​oid应用程序的索引文件,但它似乎不工作。

I'm trying to index document using Solrj from my android application, but it seems to not work.

我下面这个 LINK

这是在code我写:

package com.example.secondapp;


import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.IntentSender;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.net.MalformedURLException;

import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrInputDocument;
import org.apache.http.impl.client.DefaultHttpClient;

import ch.boye.httpclientandroidlib.*;


 public class MainActivity extends Activity  {

    @Override
    protected void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        String urlString = "http://10.0.2.2:8983/solr/collection1";

        SolrServer solr = new HttpSolrServer(urlString);
        SolrInputDocument document = new SolrInputDocument();
        document.addField("id", "552199");
        document.addField("name", "Gouda cheese wheel");
      document.addField("price", "49.99");
       // UpdateResponse response = solr.add(document);

        // Remember to commit your changes!

        //solr.commit();}

不过,我不断收到此错误:

But I keep getting this error:

05-16 20:59:26.036: E/AndroidRuntime(2635): FATAL EXCEPTION: main
05-16 20:59:26.036: E/AndroidRuntime(2635): Process: com.example.secondapp, PID: 2635
05-16 20:59:26.036: E/AndroidRuntime(2635): java.lang.NoClassDefFoundError: org.apache.http.impl.client.SystemDefaultHttpClient
05-16 20:59:26.036: E/AndroidRuntime(2635):     at org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:112)
05-16 20:59:26.036: E/AndroidRuntime(2635):     at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:161)
05-16 20:59:26.036: E/AndroidRuntime(2635):     at org.apache.solr.client.solrj.impl.HttpSolrServer.<init>(HttpSolrServer.java:134)

我怎么能解决这个问题,在此先感谢

how can I solve this problem, Thanks in advance

推荐答案

org.apache.http.impl.client.SystemDefaultHttpClient 类是从的罐子,从4.2版本。检查是否有正确的罐子在classpath中。

org.apache.http.impl.client.SystemDefaultHttpClient class is from Httpclient jar, and from version 4.2. Check whether you have the right jar in your classpath.

这篇关于Solrj从Android的索引文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-13 20:24