2015-05-04 4 views

ответ

3

Лучшим подходом к этому было бы использование token count type. Но тогда нам нужно убедиться, что мы не нарушаем оригинальную строку. Для этого нам нужно использовать multi field и добавить дополнительное поле, чтобы отслеживать только токены.

Теперь отображение, как показано ниже, должны работать лучше для нас

{ 
    "tweet" : { 
     "properties" : { 
      "name" : { 
       "type" : "multi_field", 
       "fields" : { 
        "wordCount" : {"type" : "token_count"}, 
       } 
      } 
     } 
    } 
} 
0

Использование term aggregation вроде как:

curl -H GET http://loclahost:9200/index name/_search?pretty=1 -d' 
    { 
     "aggs": { 
      "genders": { 
       "terms": { 
        "field": "gender" 
       } 
      } 
     } 
    }' 

Примечание: для локонов команды check this

Здесь искать поле gender и получить результат всех пола в агрегации ведром и результат по умолчанию отсортированный порядок.

+0

Это работает для полей одного слова, но терпит неудачу, когда несколько маркеров присутствуют как каждый маркер подсчитываются отдельно. 'Hello world',' Привет, меня зовут dave' -> 'Hello' x 2,' name' x 1, 'dave' x 1,' world' x 1 ('my' и' is' может быть или не быть в зависимости от используемого анализатора). – Basic

Смежные вопросы