弹性 SearchRequestBuilder 中的 setQuery() 和 setSource() 有什么区别?
What is the difference between setQuery() and setSource() in elastic SearchRequestBuilder?
从人们的代码来看,似乎可以使用setSource()
/setExtraSource()
或setQuery()
来设置查询。
根据文档:
public SearchRequestBuilder setQuery(String query)
使用原始搜索查询构建新的搜索源构建器。
public SearchRequestBuilder setSource(String source)
将请求源设置为 json 字符串。请注意,设置搜索类型以外的任何内容都会导致此源被覆盖,请考虑使用 setExtraSource(String)
.
Query 和 Source 有什么区别?
我什么时候使用它们?
谢谢
我认为 setQuery(string query) 用于直接设置搜索词。 setSource(String source) 需要有效的 JSON 才能在 Elasticsearch (https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/search/SearchRequestBuilder.java#L835) 上请求。
因此,如果您想自己构建搜索请求,请使用 setSource JSON。
从人们的代码来看,似乎可以使用setSource()
/setExtraSource()
或setQuery()
来设置查询。
根据文档:
public SearchRequestBuilder setQuery(String query)
使用原始搜索查询构建新的搜索源构建器。
public SearchRequestBuilder setSource(String source)
将请求源设置为 json 字符串。请注意,设置搜索类型以外的任何内容都会导致此源被覆盖,请考虑使用 setExtraSource(String)
.
Query 和 Source 有什么区别? 我什么时候使用它们?
谢谢
我认为 setQuery(string query) 用于直接设置搜索词。 setSource(String source) 需要有效的 JSON 才能在 Elasticsearch (https://github.com/elastic/elasticsearch/blob/master/src/main/java/org/elasticsearch/action/search/SearchRequestBuilder.java#L835) 上请求。
因此,如果您想自己构建搜索请求,请使用 setSource JSON。