All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sksamuel.elastic4s.fields.DynamicField.scala Maven / Gradle / Ivy

There is a newer version: 8.15.4
Show newest version
package com.sksamuel.elastic4s.fields

import com.sksamuel.elastic4s.ext.OptionImplicits._

case class DynamicField(override val name: String,
                        analyzer: Option[String] = None,
                        boost: Option[Double] = None,
                        coerce: Option[Boolean] = None,
                        copyTo: Seq[String] = Nil,
                        docValues: Option[Boolean] = None,
                        enabled: Option[Boolean] = None,
                        fielddata: Option[Boolean] = None,
                        fields: List[ElasticField] = Nil,
                        format: Option[String] = None,
                        ignoreAbove: Option[Int] = None,
                        ignoreMalformed: Option[Boolean] = None,
                        index: Option[Boolean] = None,
                        indexOptions: Option[String] = None,
                        locale: Option[String] = None,
                        norms: Option[Boolean] = None,
                        nullValue: Option[String] = None,
                        scalingFactor: Option[Double] = None,
                        similarity: Option[String] = None,
                        store: Option[Boolean] = None,
                        termVector: Option[String] = None,
                        meta: Map[String, String] = Map.empty) extends ElasticField {
  override def `type`: String = "{dynamic_type}"
  def analyzer(name: String): DynamicField = copy(analyzer = Option(name))
  def boost(boost: Double): DynamicField = copy(boost = boost.some)
  def copyTo(copyTo: String*): DynamicField = copy(copyTo = copyTo.toList)
  def copyTo(copyTo: Iterable[String]): DynamicField = copy(copyTo = copyTo.toList)
  def fielddata(fielddata: Boolean): DynamicField = copy(fielddata = fielddata.some)
  def fields(fields: ElasticField*): DynamicField = copy(fields = fields.toList)
  def fields(fields: Iterable[ElasticField]): DynamicField = copy(fields = fields.toList)
  def stored(store: Boolean): DynamicField = copy(store = store.some)
  def index(index: Boolean): DynamicField = copy(index = index.some)
  def indexOptions(indexOptions: String): DynamicField = copy(indexOptions = indexOptions.some)
  def norms(norms: Boolean): DynamicField = copy(norms = norms.some)
  def termVector(termVector: String): DynamicField = copy(termVector = termVector.some)
  def store(store: Boolean): DynamicField = copy(store = store.some)
  def similarity(similarity: String): DynamicField = copy(similarity = similarity.some)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy