9

我正在关注将 ElasticSearch 或 solr 用于“入狱”搜索结果。通过入狱,我想将数据集分开以用于安全目的等。

据我所知,这可以通过使用 solr 的多核配置来实现——有没有办法使用 ElasticSearch 以有效的“实例化”方式隔离索引/数据?

4

1 回答 1

8

在 ElasticSearch 中,您可以通过索引到单独的索引来分隔数据,然后将查询限制到特定的索引。

例如,如果您有两个索引,“foo”和“bar”正在运行:

% curl -XGET http://localhost:9200/_search?q=*:*

将搜索整个集群,同时:

% curl -XGET http://localhost:9200/foo/_search?q=*:*

将仅搜索 'foo' 索引。

如果您使用以下内容创建索引“测试”,您还可以按类型分隔数据:

% curl -XPOST http://localhost:9200/test -d '{
    "mappings" : {
        "type1" : {
            "_source" : { "enabled" : false },
            "properties" : {
                "field1" : { "type" : "string", "index" : "not_analyzed" }
            }
        },
        "type2" : {
            "_source" : { "enabled" : false },
            "properties" : {
                "field1" : { "type" : "string", "index" : "not_analyzed" }
            }
        }
    }
}'

您可以通过使用查询指定类型来仅搜索“type1”文档:

% curl -XGET http://localhost:9200/test/type1/_search?q=*:*
于 2012-05-07T15:01:57.720 回答