当前位置: 首页 > 面试题库 >

使用NEST C#客户端搜索ElasticSearch

公孙高畅
2023-03-14
问题内容

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


 类似资料:
  • 问题内容: 我刚开始使用ElasticSearch,却遇到了如何搜索的麻烦(我不一定要理解)。 首先,我有两个文件: 我想获取account.id =“ facundo @ facundo”和account.type =“ yojuego”的位置。我正在这样做: 该搜索将我拥有的所有文档检索到索引中。有什么帮助吗? 谢谢! PD:这是我创建索引和映射的方式: 问题答案: 确保该帐户是一个嵌套字段,

  • 我正在尝试将我的弹性搜索(6.6.1)、spring boot(2.1.3)应用程序从Java8迁移到Java11。之前,我使用高级java rest客户端创建和搜索索引。因为存在一个问题(https://github.com/elastic/elasticsearch/issues/38299)在模块化高级rest客户端api时,我试图使用低级rest客户端,但无法获得任何搜索结果。 请看一些代

  • 问题内容: 我有一个基本的Elasticsearch查询,看起来像这样 我得到了结果,从合理的角度来看,这没有问题。 所以我尝试在elasticsearch.net中做到这一点 而且我没有任何结果。如果我只有一个带有新{}的搜索正文,那么我会获得点击率,但不会被过滤。 我究竟做错了什么? 问题答案: 如果直接使用低级客户端(elasticsearch.net),它将不会进行任何规范化处理并逐字序列

  • 通过以下命令,我可以查看弹性搜索部署的endpoint,并且从Postman那里没有任何问题:GET https://:@d97215aee2.us-east-1.aws.found.io:9243 我也可以使用邮递员的这个命令创建索引...将https://el弹力:4yqimxfosz9mxpgy1fj7t5bu@d97218f74f6d48489b355dd7d665aee2.us-east

  • 我有一个在spring boot应用程序中创建弹性搜索索引的代码。目前使用的客户端是transport客户端,它现在根据弹性搜索文档进行折旧,现在被高级Rest客户端取代。 用于使用高级Rest客户端创建索引。我见过这个代码。 这里的fieldsMapping是一个json文件,它包含有关analyzer、tokenizer和filter的详细信息,并作为字符串传递给这个方法。我无法在java r

  • 1. 创建 Maven 工程 服务端部署完毕后,我们可以新建一个 Maven 工程使用 SOFARegistry 提供的服务。首先新建一个 Maven 工程,然后引入如下依赖: <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>registry-client-all</artifactId> <versi