我愿意使用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
、title
和所有answers
吗?
-
不,您不需要在每次更新集合时都运行它。索引根据配置中的刷新间隔刷新,或通过调用"_refresh"手动刷新
-
是的,支持分页,在查询中使用字段"发件人","大小","排序"进行排序,请参阅
ElasticSearch 分页和排序
-
是的,您可以在任何字段中搜索请参阅 http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query/