ElasticSearch:每个节点的搜索结果不同?

时间:2013-11-18 10:07:11

标签: search elasticsearch

想象一下,在一台服务器上具有 2 节点的测试集群,其中包含ElasticSearch 0.90.6。

让我们创建测试索引tindex

curl -X PUT localhost:9200/tindex -d '{
    "settings" : {
        "index" : {
            "number_of_shards" : 8,
            "number_of_replicas" : 1
        }
    }
}'

和测试类型ttype,插入一些数据(例如10000个查询/行),映射如下:

{"title": "...", "description": "..."}

当我执行搜索查询以查找foo时:

curl -X POST localhost:9200/tindex/ttype/_search?pretty -d '{
    "min_score": 0.01,
    "query":
    {
        "common":
        {
            "_all":
            {
                "query": "foo",
                "cutoff_frequency": 0.001
            }
        }
    },
    "highlight":
    {
        "pre_tags": ["<b>"],
        "post_tags": ["</b>"],
        "fields":
        {
            "title":
            {},
            "description":
            {}
        }
    },
    "suggest":
    {
        "text": "foo",
        "results":
        {
            "phrase":
            {
                "field": "title",
                "size": 5,
                "confidence": 0.01,
                "highlight":
                {
                    "pre_tag": "<b>",
                    "post_tag": "</b>"
                }
            }
        },
        "results1":
        {
            "phrase":
            {
                "field": "description",
                "size": 5,
                "confidence": 0.01,
                "highlight":
                {
                    "pre_tag": "<b>",
                    "post_tag": "</b>"
                }
            }
        }
    }
}'

每当我有不同的奇数和偶数结果时,正如我意识到的那样,每个节点都有不同的结果。这是由节点重启解决。此外,我还试图通过_cache API清除缓存,没有任何意义。

是否有更好的解决方案可以实时解决这种不一致问题?

0 个答案:

没有答案