Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.github.jchanghong.elasticsearch.elasticsearchs.kt Maven / Gradle / Ivy
//package com.github.jchanghong.elasticsearch
//
//import cn.hutool.json.JSONUtil
//import com.github.jchanghong.gson.jsonByPath
//import com.github.jchanghong.gson.jsonToObject
//import com.github.jchanghong.gson.toJsonStr
//import com.github.jchanghong.http.HttpHelper
//import com.github.jchanghong.http.bodyString
//import org.apache.http.HttpHost
//import org.elasticsearch.action.ActionListener
//import org.elasticsearch.action.delete.DeleteRequest
//import org.elasticsearch.action.delete.DeleteResponse
//import org.elasticsearch.action.get.GetRequest
//import org.elasticsearch.action.get.GetResponse
//import org.elasticsearch.action.index.IndexRequest
//import org.elasticsearch.action.index.IndexResponse
//import org.elasticsearch.action.update.UpdateRequest
//import org.elasticsearch.action.update.UpdateResponse
//import org.elasticsearch.client.Cancellable
//import org.elasticsearch.client.RequestOptions
//import org.elasticsearch.client.RestClient
//import org.elasticsearch.client.RestHighLevelClient
//import org.elasticsearch.client.core.GetSourceRequest
//import org.elasticsearch.client.core.GetSourceResponse
//import org.elasticsearch.common.xcontent.XContentType
//import org.slf4j.LoggerFactory
//import java.util.function.Consumer
//import kotlin.collections.List
//import kotlin.collections.Map
//import kotlin.collections.MutableMap
//import kotlin.collections.first
//import kotlin.collections.map
//import kotlin.collections.mapIndexed
//import kotlin.collections.mapNotNull
//import kotlin.collections.set
//import kotlin.collections.toMap
//import kotlin.collections.toTypedArray
//
//class ElasticsearchHelper(ips: List) {
// /** http://127.0.0.1:9200*/
// var serverUrl = "http://${ips.first()}:9200"
// private val logger = LoggerFactory.getLogger(ElasticsearchHelper::class.java)
// var debug = true
// val client: RestHighLevelClient = RestHighLevelClient(
// RestClient.builder(*ips.map { HttpHost(it, 9200, "http") }.toTypedArray())
// )
//
// fun index(index: String, id: String, json: String, consumer: Consumer): Cancellable {
// val indexRequest = IndexRequest(index)
// indexRequest.id(id)
// indexRequest.source(json, XContentType.JSON)
// val indexAsync =
// client.indexAsync(indexRequest, RequestOptions.DEFAULT, object : ActionListener {
// override fun onResponse(p0: IndexResponse?) {
// if (debug) logger.info(p0?.index + " index ok")
// consumer.accept(p0 ?: return)
// }
//
// override fun onFailure(p0: Exception?) {
// logger.error(p0?.localizedMessage, p0)
// }
//
// })
// return indexAsync
// }
//
// fun get(index: String, id: String, consumer: Consumer): Cancellable {
// val indexRequest = GetRequest(index)
// indexRequest.id(id)
// val indexAsync = client.getAsync(indexRequest, RequestOptions.DEFAULT, object : ActionListener {
// override fun onResponse(getResponse: GetResponse) {
// if (debug) logger.info(getResponse.sourceAsString + " get ok")
// if (getResponse.isExists) {
// val sourceAsString: String = getResponse.getSourceAsString()
// consumer.accept(sourceAsString)
// } else {
// }
// }
//
// override fun onFailure(p0: Exception?) {
// logger.error(p0?.localizedMessage, p0)
// }
//
// })
// return indexAsync
// }
//
// fun getSource(index: String, id: String, consumer: Consumer>): Cancellable {
// val getSourceRequest = GetSourceRequest(index, id)
// val indexAsync =
// client.getSourceAsync(getSourceRequest, RequestOptions.DEFAULT, object : ActionListener {
// override fun onResponse(getResponse: GetSourceResponse) {
// if (debug) logger.info(getResponse.source.toString() + "getsource ok")
// consumer.accept(getResponse.source)
// }
//
// override fun onFailure(p0: Exception?) {
// logger.error(p0?.localizedMessage, p0)
// }
//
// })
// return indexAsync
// }
//
// fun delete(index: String, id: String): Cancellable {
// val deleteRequest = DeleteRequest(index, id)
// val indexAsync =
// client.deleteAsync(deleteRequest, RequestOptions.DEFAULT, object : ActionListener {
// override fun onResponse(getResponse: DeleteResponse) {
// if (debug) logger.info(getResponse.id + " delete ok")
// }
//
// override fun onFailure(p0: Exception?) {
// logger.error(p0?.localizedMessage, p0)
// }
//
// })
// return indexAsync
// }
//
// fun update(index: String, id: String, json: String): Cancellable {
// val updateRequest = UpdateRequest(index, id)
// updateRequest.doc(json, XContentType.JSON)
// val indexAsync =
// client.updateAsync(updateRequest, RequestOptions.DEFAULT, object : ActionListener {
// override fun onResponse(getResponse: UpdateResponse) {
// if (debug) logger.info("update ok" + getResponse.id)
// }
//
// override fun onFailure(p0: Exception?) {
// logger.error(p0?.localizedMessage, p0)
// }
//
// })
// return indexAsync
// }
//
// // fun search(index: String, id: String, json: String): Cancellable {
//// val searchRequest = SearchRequest()
//// val sourceBuilder = SearchSourceBuilder()
//// sourceBuilder.query(QueryBuilders.matchQuery("", ""))
//// sourceBuilder.from(0)
//// sourceBuilder.size(5)
//// sourceBuilder.timeout(TimeValue(60, TimeUnit.SECONDS))
//// val highlightBuilder = HighlightBuilder()
//// val highlightTitle: HighlightBuilder.Field = HighlightBuilder.Field("title")
//// highlightTitle.highlighterType("unified")
//// highlightBuilder.field(highlightTitle)
//// val highlightUser: HighlightBuilder.Field = HighlightBuilder.Field("user")
//// highlightBuilder.field(highlightUser)
//// sourceBuilder.highlighter(highlightBuilder)
//// searchRequest.source(sourceBuilder)
//// val indexAsync = client.searchAsync(searchRequest, RequestOptions.DEFAULT, object : ActionListener {
//// override fun onResponse(getResponse: SearchResponse) {
////
//// }
////
//// override fun onFailure(p0: Exception?) {
//// logger.error(p0?.localizedMessage)
//// }
////
//// })
//// return indexAsync
//// }
// fun showTables(): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/_sql?format=txt&pretty", """
// {
// "query": "show tables"
// }
// """.trimIndent()
// )
// return postJson.get().bodyString()
// }
//
// fun DESCRIBE(table: String): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/_sql?format=txt&pretty", """
// {
// "query": "DESCRIBE $table"
// }
// """.trimIndent()
// )
// return postJson.get().bodyString()
// }
//
// fun queryForJson(sql: String): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/_sql?format=json&pretty", """
// {
// "query": "$sql"
// }
// """.trimIndent()
// )
//// println(postJson)
// val jsonToObject = postJson.get().bodyString().jsonToObject>>()
// val keys = (jsonToObject?.get("columns") as? List>?)?.mapNotNull { it["name"] }
// val list = jsonToObject?.get("rows")?.mapNotNull { it as? List }
// ?.mapNotNull {
// val toMap = keys?.mapIndexed { index, s -> s to it[index] }?.toMap()
// toMap
// }
// val toString = list.toJsonStr().toString()
// val message = JSONUtil.formatJsonStr(toString)
//// println(message)
// return message
// }
//
// fun queryForTxt(sql: String): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/_sql?format=txt&pretty", """
// {
// "query": "$sql"
// }
// """.trimIndent()
// )
// return postJson.get().bodyString()
// }
//
// fun index(table: String, id: Long, data: String): String {
// val postJson = HttpHelper.postJsonStringAsyn("${serverUrl}/${table}/_doc/${id}", data).get().bodyString()
// return postJson
// }
//
// fun createIndex(table: String, ik: Boolean = false): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/${table}", """
// {
// "mappings": {
// "properties": {
// "content": {
// "type": "text"
// ${
// if (ik) """",analyzer": "ik_max_word",
// "search_analyzer": "ik_smart"""" else ""
// }
// }
// }
// }
// }
// """.trimIndent()
// )
// return postJson.get().bodyString()
// }
//
// fun createIndexAsyoutype(table: String, ik: Boolean = false): String {
// val postJson = HttpHelper.postJsonStringAsyn(
// "${serverUrl}/${table}", """
// {
// "mappings": {
// "properties": {
// "content": {
// "type": "search_as_you_type"
// }
// }
// }
// }
// """.trimIndent()
// )
// return postJson.get().bodyString()
// }
//
// @JvmOverloads
// fun query(field: String, query: String, table: String? = null): String {
// val body = """
// {
//
// "query": {
//
// "match": { "$field": "$query" }
//
// },
//
// "highlight": {
//
// "fields": {
//
// "$field": {}
//
// }
//
// }
//
// }
// """.trimIndent()
// val s = if (table != null) "${table}/" else ""
// val postJson = HttpHelper.postJsonStringAsyn("${serverUrl}/${s}_search?pretty", body).get().bodyString()
// val jsonToObject = postJson.jsonByPath("hits.hits").jsonToObject>>()
// val mapNotNull = jsonToObject?.mapNotNull {
// val any = it["_source"] as? MutableMap?
// if (any != null) {
// val get = (it.get("highlight") as? Map)?.get(field)
// any["highlight"] = (get as? List?)?.get(0)
// }
// any
// }
// val toString = mapNotNull.toJsonStr().toString()
// return JSONUtil.formatJsonStr(toString)
// }
//}
//
//internal data class D1(var content: String)
//
//fun main() {
//
//
//}