Как можно сделать облоко тегов на elasticsearch?


(Max) #1

мне надо получить спосок постов за последнии 24 часа и найти самые весомые слова из этих постов

это мой мапинг на es 5.0.0

{
  "state": "open",
  "settings": {
    "index": {
      "creation_date": "1463528294402",
      "analysis": {
        "analyzer": {
          "text": {
            "filter": [
              "stop",
              "lowercase",
              "snowball"
            ],
            "tokenizer": "standard"
          }
        }
      },
      "number_of_shards": "5",
      "number_of_replicas": "0",
      "uuid": "ExTKzvL3Snm5-9ic8Iqybw",
      "version": {
        "created": "5000002"
      }
    }
  },
  "mappings": {
    "post": {
      "properties": {
        "title": {
          "analyzer": "text",
          "type": "text"
        }
      }
    }
  },
  "aliases": [],
  "primary_terms": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1
  },
  "active_allocations": {
    "0": [
      "cs_AUlwHSL22nlS2mTBjAg"
    ],
    "1": [
      "L3wiu4f-TPqMk8aUkEmVeA"
    ],
    "2": [
      "3IA7gl0QRFmiG8Mod0GRZg"
    ],
    "3": [
      "PtpzRKUUTziorxQrB38nlg"
    ],
    "4": [
      "mTeDnGYoSqy8SSx-ni8NrQ"
    ]
  }
}

(Igor Motov) #2

Что определяет весомость слова в вашем случае?


(Max) #3

например есть заголовки

"привет вася"
"привет федя"
"привет дима, привет маша"

нужен такой результат

привет 3
вася 1
федя 1
дима 1
маша 1


(Igor Motov) #4

Тогда term aggs. Только осторожней с памятью. Если индекс большой, памяти может потребоваться для этой операции много.


(Max) #5

А про какие размеры идёт речь, может создать для этого отдельный индекс только с теми документами что актуальны?

И как включить fieldsdata оно по умолчанию отключено и я не совсем понял как включить


(Igor Motov) #6

Посмотрите документацию по fielddata. Там все написано, и даже пример есть как включать.


(Max) #7

Спасибо а как насчёт того чтобы создать отдельный индекс или можно все в текущим крутить ? Сейчас там 20к записей общий объём данных около 30мб, я понимаю это мало чтобы спрашивать, но в бущушем планируется намного больше может через пол года до 1м записей, сервер с 2гб памяти стоит ли мне выносить это в отдельный индекс?


(system) #8