2013-09-12 7 views
3

Я готов запускать полнотекстовые запросы в MongoDB, используя ElasticSearch. Я нашел несколько руководств о том, как настроить ElasticSearch, используя this, но у меня есть несколько вопросов.ElasticSearch и MongoDB

1: Я должен запустить этот

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
     "db": "testmongo", 
     "collection": "person" 
    }, 
    "index": { 
     "name": "mongoindex", 
     "type": "person" 
    } 
}' 

сделать индекс ElasticSearch эту коллекцию. Нужно ли мне запускать это несколько раз? (Каждый раз, когда моя коллекция обновляется? Один раз в день?)

2: Есть ли полная поддержка пейджинга и заказа? Я бы хотел найти что-то, но ограничил результат N результатами на страницу и пропустил некоторые страницы. Кроме того, я хотел бы заказать любой области.

3: Мои данные выглядит следующим образом:

{ 
    question: 'text here', 
    date: '01/01/2000 01:01', 
    title: 'Some title', 
    client: 'name', 
    assigned_to: ['name1', 'name2', 'name3'], 
    answers: [ 
     {answer: 'bla bla'}, 
     {answer: 'bla bla'}, 
     {answer: 'bla bla'} 
    ] 
} 

Смогу ли я искать в question, title и все answers?

ответ

2
  1. Нет, вам не нужно запускать его каждый раз, когда коллекция обновляется. индекс обновляется в соответствии с интервалом обновления в конфигурации или вручную с помощью вызова «_refresh»

  2. да есть поддержка для подкачки, сортировка с использованием полей «из», «размер», «сорта» в запросе см

    ElasticSearch Pagination & Sorting

  3. да вы можете найти в anyfield см http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query/

+0

Спасибо, сэр, это было все, что нужно, чтобы начать использовать ES :) – alexandernst

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