ElasticSearch and MongoDB



我愿意使用ElasticSearch在MongoDB中运行全文查询。我找到了一些关于如何使用它设置 ElasticSearch 的指南,但我有几个问题。

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'}
    ]
}

我可以搜索questiontitle和所有answers吗?

  1. 不,您不需要在每次更新集合时都运行它。索引根据配置中的刷新间隔刷新,或通过调用"_refresh"手动刷新

  2. 是的,支持分页,在查询中使用字段"发件人","大小","排序"进行排序,请参阅

    ElasticSearch 分页和排序

  3. 是的,您可以在任何字段中搜索请参阅 http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query/

最新更新