3

我愿意使用 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'}
    ]
}

我可以搜索question吗?titleanswers

4

1 回答 1

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

  2. 是的,支持分页,使用查询中的“来自”、“大小”、“排序”字段进行排序,请参阅

    ElasticSearch 分页和排序

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

于 2013-09-13T01:22:45.203 回答