我真的真的需要一些关于Java API中弹性搜索用法的帮助...
假设我正在使用ES中的Java api。到目前为止,我知道由于主要和副本的不一致问题,弹性搜索可能会给出不一致的结果(删除doc会由于删除标记而不是删除标记而使统计信息总体上有所不同)。
所以我尝试了什么
searchRequest.preference(“ _ primary_first”)。这给了我一致的结果(因为它只使用主分片!)
现在我想在玩具示例中尝试的是
2)如果我有5个节点,我想基于queryText指定我们要使用的节点。
例如,'''
if (queryRequest.text().equals("red")) {
// use 1st node
searchRequest.preference("??????")
} else if (queryRequest.text().equals("blue")) {
// use 2nd node
searchRequest.preference("??????")
} else {
// use either 3rd~5th node
searchRequest.prefernce("???????")
}
'''
Q1)我想我需要使用自定义设置“ WISELY”来表示要使用哪个节点...有人可以给我简单的java.api示例吗?
Q2)这是另一种,但是有什么办法可以从searchResponse加载每个节点的状态?(再次在Java api friendly中)
Q3)是否有任何聪明的方法来指定对给定的查询文本使用第一个节点(或某些节点ID?)(而不是使用哈希映射的东西...)例如,>
让我说我不知道我将收到哪个查询文本,但我想将它们平均分配给每个节点(5个!)
但是要坚持第一选择。
如果我看到第一个查询文本==“ red”并且我指定此queryRequest使用Node1,那么以后如果我再次看到查询文本==“ red”,我也想使用Node1。有人有想法吗?
谢谢你们!
免责声明:我不是CS专家,还是独立学习者,他尝试尝试新事物来打破我的舒适区! :)请原谅这个愚蠢的问题!
我真的真的需要一些关于Java api中的弹性搜索用法的帮助...假设我正在使用ES中的Java api。到目前为止,我了解到弹性搜索会由于主要...