まとめElasticSearch(一)
3683 ワード
たとえ生活が苦しくても、私たちは夢に向かって努力し続けなければなりません.
ElasticSeachのインストールからSpringbootアプリケーションElastcSearchを通じて、なんだか自分が身につけていないような気がして、詳しい勉強を始めました.
http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
大牛阮一峰のこのブログのまとめを見て、
ElasticSearchの基本構造はIndex->Type->id->Documentであることがわかります
Documentは最も基本的な構造で、次のリンクで彼らの存在を見ることができます.
すべてのクエリー:
curl -X GET 'http://localhost:9200/_cat/indices?v'
:
curl 'localhost:9200/test1/test2/3?pretty=true'
リンクを見るとtest 1はIndex,test 2はType,idは3である.pretty=trueについては、クエリー結果をjson形式にフォーマットするために
プログラム内の新規作成も同様です.
@Document(indexName = "test1",type = "test2")
public class test implements Serializable {
@Field()
private int id;
@Field(searchAnalyzer = "ik_smart",analyzer = "ik_smart")
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "test{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
追加削除については
対応するput、delete、putは再びカバーして、具体的に上の大牛のリンクを見ます
私はここでプログラムを通じてik中国語の分詞器を作成して、もしcmdの中でindexを作成するならば、使うことに注意します
$ curl -X PUT 'localhost:9200/accounts' -d '
{
"mappings": {
"person": {
"properties": {
"user": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"desc": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}
}
}'
テストするには数値を挿入します
中にはもともとこの大きな鶏の足がありますよ.
中国語の分詞器をテストする
ネット上でcurlを使うことが多いですが、私はつらいと思います.文を修正するのも、ここでpostmanを使います.
エラー:16-elasticsearch 6.x {"error":"Content-Type header [application/x-www-form-urlencoded] is not support
解決策:-H"Content-Type:アプリケーション/json"
postmanの場合、HeadにContent-Type:アプリケーション/jsonを追加
結果:
結果はどうしてそうなのか、大中国が大文字に分割されたので、大鶏の足と同じですよ.
シングルノード状態http://localhost:9200/_nodes?pretty=true