gpt4 book ai didi

elasticsearch - 您如何按ID搜索?

转载 作者:行者123 更新时间:2023-12-02 22:22:57 24 4
gpt4 key购买 nike

我敢肯定这是一个愚蠢的问题,但是...

给出以下索引

public class RandomIndex {
public int Id { get; set; }
public String name { get; set; }
}

如何通过ID进行搜索?

我可以使用NEST进行按名称搜索,但是由于某种原因,我无法通过ID进行搜索。我猜是因为它是结构化字段?

以下是我正在使用的SearchRequest。请注意,我可以按名称成功查询,而不能按ID成功查询。

请注意,这是在我要传递的fieldName和searchTerm中传递的函数中。
return new Nest.SearchRequest {
From = offset,
Size = 50,

Query = new Nest.SimpleQueryStringQuery() {
Query = $"\"{search}\"",
Fields = new Nest.Field[] { fieldName }
}
};

有人可以告诉我我在做什么错吗?

最佳答案

Id字段上进行搜索与在其他任何字段上进行搜索相同;对于Id字段,可能应该将其映射为 keyword type,在这种情况下,该字段上的 term query将起作用。

但是,因为NEST从映射到Elasticsearch类型的POCO的_id属性推断 Id field,并且_id对于索引中的类型是唯一的,所以给定索引中给定类型的Id只会有一个匹配项。您无需使用Id进行搜索,而只需使用GET API来获取索引中给定ID的文档。如果您需要跨不同索引和类型搜索id,那么term查询就是您想要的。

关于elasticsearch - 您如何按ID搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45340253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com