web-dev-qa-db-ja.com

検索API solr:Solrサーバーに到達できませんでした

私は動作しているSolrサーバーを持っていますが、私のdrupalは常に接続に失敗します、何が間違っているのですか?

サーバーを追加してsolrサーバーのURLをクリックすると、サーバーに移動します(パスが正しいため)のに、次のメッセージが表示され続けます:Solrサーバーにアクセスできませんでした。

私は(ローカルではなく)サーバーでApache solrをホストしています。

  • ホスト:サーバーのIPアドレス

  • ポート:8983

  • インスタンス:/ solr

誰かが私を助けてくれますか?

5
Yassin Tahtah

@see "あなたのサイトはApache Solrサーバーに接続できませんでした"

私はこの記事 https://www.lullabot.com/blog/article/installing-solr-use-drupal に従います。サイトとApacheを再構成した後、いつかこのエラーが発生します。しかし私はこのように愛したenter image description here

enter image description here

4
bluesky_still

何らかの理由で、私の場合、次の文字列が機能しました:/ solr /#/ drupal

したがって、完全なURI: http://127.0.0.1:8983/solr/#/drupal

1
UserAnonym

同じ問題が発生していました:Drupal 7.41 Tomcat 8 Solr 4.10.4

したがって、私の回避策は次のとおりです。ステップ1:Solrパス構成-:/ solr /と入力します。これにより、SOLRとDrupalが通信できるようになりました。

ただし、URLはhttpPostまたはhttpGetに使用できないため、インデックスは失敗します。次のエラーが表示されます:サーバーからアイテムを削除中にSearchApiException: "400"ステータス:HTTPメソッドPOSTはこのURLではサポートされていません:HTTPメソッドPOST isこのURLではサポートされていません

手順2: '#/〜cores /'を削除する正しいURIは、余分な文字なしでSOLRにリストされているパスです。驚いたことに、私がcronを実行してTomcatを再起動すると、サーバーは引き続き通信でき、インデックスは設計どおりに実行されました。

注:失敗したインデックス構成を削除し、これらの変更を行った後で再構成する必要がありました。設定:: shrug :::を「記憶」している奇妙なキャッシュのタイプがあるようです。

私のために働いた。そして、私はそれがあなたのために働くことを望みます。それを理解するのに数時間かかりました。

/ r

1
r2coder

Solr Hostフィールドに値を入力してみてください:127.0.0.1およびSolrパスの場合は空のままにできます。

1
VivekP

このバグインデックス作成時のみが発生していました。これは、構成の誤りが原因だと私に思わせました。

    Drupal\search_api\SearchApiException while trying to 
index items on index main: 
Solr endpoint https://mysite:443/solr/main/ unreachable

結局のところ、このエラーは実際にhasがサーバーに到達したときに発生する可能性がありますが、SOLRでエラーをスローする何かを実行しようとしました。

    [c:main s:shard2 r:core_main_node2 x:main] 
o.a.s.h.RequestHandlerBase org.Apache.solr.common.SolrException: 
ERROR: [doc=mysite-main-entity:node/10:en] 
multiple values encountered for non multiValued 
field bs_mycustom_field: [true, true]

カスタムプロセッサのブール値に配列を追加しようとしました!

以前は機能していましたが、許容度の低い部分が変更されました。

私はこれから変更しました:

$mycustomfield->addValue(($data_item['status'] === "1"));

これに:

$mycustomfield->setValues([$data_item['status'] === "1"]);

私のカスタムSearchApiProcessorプラグイン(Drupal 8)では、問題なくインデックス付けされました。

ここでの重要なポイントは、このエラーは誤解を招く可能性があるということです。それはSOLRに達しました!

1
oknate