在重新索引后对弹性索引进行搜索时是否存在不一致行为的原因?
Is there a reason there is inconsistent behavior when doing a search on an elastic index after it is reindexed?
我正在使用 elasticsearch
python API 并且在对最近重新编制索引的索引进行搜索时,我看到一些行为,有时我会得到结果,有时却得不到结果吨。重现此行为的唯一方法是 运行 一遍又一遍地编写代码,直到失败,并看到相同的结果。
es.reindex({"source": {"index": "initial-index"},
"dest": {"index": "dest-index"}
},
wait_for_completion=True, refresh=True)
dest_index_results = es.search(index="dest-index", size=100)
hits = get_hits(dest_index_results['hits']['hits'])
dest_index_results
和 hits
会变成空的。任何有助于理解原因的帮助将不胜感激。
索引设置中有一个名为 refresh_interval
的配置。根据您在此配置中设置的时间,可以搜索文档。例如,如果时间设置为 1 分钟,文档将在索引后一分钟准备好进行搜索。
您可以使用以下命令更改此设置;
PUT /twitter/_settings
{
"index" : {
"refresh_interval" : "10s"
}
}
我正在使用 elasticsearch
python API 并且在对最近重新编制索引的索引进行搜索时,我看到一些行为,有时我会得到结果,有时却得不到结果吨。重现此行为的唯一方法是 运行 一遍又一遍地编写代码,直到失败,并看到相同的结果。
es.reindex({"source": {"index": "initial-index"},
"dest": {"index": "dest-index"}
},
wait_for_completion=True, refresh=True)
dest_index_results = es.search(index="dest-index", size=100)
hits = get_hits(dest_index_results['hits']['hits'])
dest_index_results
和 hits
会变成空的。任何有助于理解原因的帮助将不胜感激。
索引设置中有一个名为 refresh_interval
的配置。根据您在此配置中设置的时间,可以搜索文档。例如,如果时间设置为 1 分钟,文档将在索引后一分钟准备好进行搜索。
您可以使用以下命令更改此设置;
PUT /twitter/_settings
{
"index" : {
"refresh_interval" : "10s"
}
}