私はElasticSearchを初めて使用しています。 HTMLページに表示するにはjavascriptからElasticSearchを検索した後にjsonにアクセスする必要があります。 ですが、常にエラーが発生します。 これに使用できるコードがありますか?私は頭の中で "http://code.jquery.com/jquery-latest.js" を追加したコードでJavaScriptを使用してJavaScriptを使用してElasticSearchのJSONにアクセスする
次のように..
私のコードは次のとおりです。事前に
<h1>Search Result!</h1>
<br />
<input id="searchterm" />
<button id="search">search</button>
<div id="results"></div>
<script>
$("#search").click(function(e){
var data = {
query:{match:{_all:$('#searchterm').val()}},
fields: '_id'
};
alert(JSON.stringify(data));
$.ajax({
url: 'server_url:9200/testindex/testindex/_search?q=*&pretty',
dataType: 'json',
type: 'POST',
contentType: 'application/json',
crossDomain: true,
data: JSON.stringify(data),
success: function(data) {
// alert(""+JSON.parse(data.hits.total));
$("#results").empty();
$("#results").append("<p>Results for <b>" + $("#searchterm").val() + "</b></p>");
$.each(data.hits.hits, function(i,item){
$("#results").append("<div><a href='#'>" + item._id + "</a></div>");
});
}
});
});
</script>
ありがとう!
:?CORSヘッダを追加したり、ElasticsearchにCORSサポートを有効に、地域開発のための十分なhttps://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html
簡単に安全でない設定を参照するにはnginxの – Thomas
エラーメッセージ:XMLHttpRequestはhttp:// server_url:9200/testindex/testindex/_search?q = *&prettyをロードできません。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。したがって、 'http:// server_url'はアクセスが許可されていません。 –