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

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

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 - 2025 Weber Informatics LLC | Privacy Policy