0

ajaxを使用してsolrサーバーに新しいドキュメントを追加しようとしています。

solr サーバーに新しいドキュメントを追加するには、http:// 192.168.10.113:8080/solr/update/?commit=true%20-H%20%22Content-Type:%20text/xml%22%20 と記述する必要があります。 --data-binary%20%20%3Cadd%3E%3Cdoc%3E%3Cfield%20name='id'%3E19990%3C/field%3E%3C/doc%3E%3C/add%3E

実際のコード: < add>< doc> < field name='id>19990>< /field> < /doc> < /add>

今、サーバーにドキュメントを追加しようとしました。

私のAJAXコード:

$.ajax({
            url: "http://192.168.10.113:8080/solr/update/?commit=true%20-H%20%22Content-Type:%20text/xml%22%20--data-binary%20'<add><response><doc><field%20name='id'>19990</field></doc></response></add>'",
            type: 'POST',
            success: function (data) {
                    alert(data);
            }
        });

ajax 呼び出しはエラーを表示しませんでした。

次に、次のようにデータを取得しようとします: http:// 192.168.10.113:8080/solr/select/?q=19990&version=2.2&start=0&rows=10&indent=on

そのデータは表示されていません。

助けてください

4

2 に答える 2

1
  1. solr リポジトリが更新されるまで、しばらく時間がかかる場合があります。コミット戦略を見て、自分でコミットしてみてください。

  2. どのように追加しようとしましたか?カールを使用していますか?またはいくつかのブラウザを使用していますか?リクエストは更新または投稿リクエストである可能性があります...

  3. これを使用してください: https://github.com/evolvingweb/ajax-solr

  4. "--data-binary" は curl フラグであり、URL に含めるべきではありません。xml データを URL ではなく、ajax リクエストのデータに配置する必要があります。

 $.ajax({
        type     : "POST",
        url      : "http://192.168.10.113:8080/solr/update/?commit=true",
        data     : { xml: escape("<add><response><doc><field name=id>19990</field></doc></response></add>") },
        dataType : "text/xml",
        success  : function(msg){
            alert('Success ');
        },
        error    : function(msg) {
            alert('Failed');
        }
    });
于 2012-10-26T13:07:00.747 に答える
0

Solr Wiki - Update XML Messagesページに示されている例に基づいて、追加コードのフォーマットがオフになっているようです。次のようにする必要があります。

<add><doc><field name="id">19990</field></doc></add>

URL エンコード値: %3Cadd%3E%3Cdoc%3E%3Cfield%20name%3D%22id%22%3E19990%3C%2Ffield%3E%3C%2Fdoc%3E%3C%2Fadd%3E

試してみて、ドキュメントが追加されるかどうかを確認してください。

さらに、Ajax を使用しているため、データが既に JSON 形式になっている場合は、JSON データを送信することを検討してください。詳細については、 Solr Wiki - JSON の更新を参照してください。

于 2012-10-26T12:49:00.200 に答える