ventajas tutorial que instalar espaƱol desventajas elasticsearch

tutorial - Definir Custom ElasticSearch Analyzer utilizando la API de Java



que es logstash (2)

¿Hay alguna manera de crear un índice y especificar un analizador personalizado utilizando la API de Java? Es compatible con la adición de asignaciones en la creación de índices, pero no puedo encontrar una manera de hacer algo como esto sin enviar el JSON a través de HTTP PUT:

curl -XPUT localhost:9200/twitter?pretty=true -d ''{ "analysis": { "analyzer": { "steak" : { "type" : "custom", "tokenizer" : "standard", "filter" : ["snowball", "standard", "lowercase"] } } } }''

Puedo crear una consulta de este tipo usando JSONBuilder, pero no encuentro ningún lugar en la API donde ejecutarlo, CreateIndexRequest no tiene nada que pueda usar y tampoco lo hace client.admin().indices() , en la medida de lo posible. Puedo ver. ¿Cuál es la forma correcta de hacer esto?


Puede configurar el analizador utilizando client.admin().indices().prepareCreate("twitter").setSettings(...) . Hay varias formas de crear configuraciones. Puedes cargarlos desde texto, mapa o incluso usar jsonBuilder si eso es lo que quieres:

client.admin().indices().prepareCreate("twitter") .setSettings(Settings.settingsBuilder().loadFromSource(jsonBuilder() .startObject() .startObject("analysis") .startObject("analyzer") .startObject("steak") .field("type", "custom") .field("tokenizer", "standard") .field("filter", new String[]{"snowball", "standard", "lowercase"}) .endObject() .endObject() .endObject() .endObject().string())) .execute().actionGet();