#scala #elasticsearch #indexing #elastic4s
#scala #elasticsearch #индексирование #elastic4s
Вопрос:
def createCompanyAutoCompleteIndex(indexName: String, host: String, port: Int = defaultPort, shds: Int = defaultShards): Unit = {
client(host, port).execute {
createIndex(indexName).shards(shds).mappings {
mapping(mappingName).as(
keywordField("id"),
textField("name_suggest").analyzer("autocomplete").searchAnalyzer("autocomplete_search"),
keywordField("name"),
longField("number_of_employees"),
**longField("net_sales"),**
intField("company_type_score")
)
}.analysis(
Seq(CustomAnalyzerDefinition("autocomplete",EdgeNGramTokenizer("autocomplete", 2, 10, Seq("letter")), LowercaseTokenFilter),
CustomAnalyzerDefinition("autocomplete_search", LowercaseTokenizer)))
}.await
}
Я не вижу опции поля функции ранга, я хочу сделать чистые продажи функции типа ранга, пожалуйста, помогите!!
Ответ №1:
RankFeatureField
Под пакетом находится класс case com.sksamuel.elastic4s.fields
: https://github.com/sksamuel/elastic4s/blob/7154d10e0097cebe5524875f88f6a81f03bb3b26/elastic4s-domain/src/main/scala/com/sksamuel/elastic4s/fields/RankFeatureField.scala
Нет вспомогательных методов конструктора (например, в camelCase intField
), но вы должны иметь возможность напрямую использовать класс case (в PascalCase).