使用NEST C#客户端搜索ElasticSearch
我开始四处寻找搜索引擎,经过一番阅读后,我决定使用ElasticSearch(这是非常了不起的:)),我的项目在C#中,所以我四处寻找客户端并开始使用NEST,一切都很简单,但是我搜索部分有些混乱。
我想搜索 ,然后 以下代码:
elasticClient.Search<NewType>(s => s.Query(q => q.QueryString(d => d.Query(queryString))));
我看到许多字符串查询搜索已被弃用,并想确保上面的方法是正确的方式(上面未标记为已弃用…)对于一个简单的任务来说也有点长,所以也许有人知道另一种方法。
谢谢
回答:
我只使用字符串查询版本:使用C#匿名类型创建查询对象并将其序列化为JSON。
这样,我就可以直接从所有JSON查询示例中进行映射,而无需转换为该“查询DSL”。
Elasticsearch本身发展非常迅速,因此该查询DSL必然缺少某些功能。
编辑:示例:
var query = "blabla";var q = new
{
query = new
{
text = new
{
_all= query
}
},
from = (page-1)*pageSize,
size=pageSize
};
var qJson = JsonConvert.SerializeObject(q);
var hits = _elasticClient.Search<SearchItem>(qJson);
以上是 使用NEST C#客户端搜索ElasticSearch 的全部内容, 来源链接: utcz.com/qa/416053.html