我开始四处寻找搜索引擎,经过一番阅读后,我决定使用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);