为什么我从ElasticSearch查询(C#)中获得0匹配?

凯亚

我有一些代码应从搜索中返回5个匹配项。

如果我在浏览器中尝试查询,则会得到5个结果:

http://localhost:9200/_search?q=Testing

如果我使用SENSE编辑器,它还会显示5个结果:

Server=localhost:9200
POST _search
{
    "query": {
        "query_string": {
            "query": "Testing"
        }
    }
}

但是我在控制器中的C#代码无法获得任何匹配。我想念什么?

Uri localhost = new Uri("http://localhost:9200");
            var setting = new ConnectionSettings(localhost);
            setting.SetDefaultIndex("videos");
            var client = new ElasticClient(setting);

            var result = client.Search<SearchHint>(
                body => body.Query(
                    query => query.QueryString(
                        qs => qs.Query(keys))));

            var results = new SearchResults()
            {
                Results = result.Documents.ToList() <-- this has 0 items
            };

编辑1:

public class SearchHint
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public int NumItems { get; set; }
        public bool IsList { get; set; }

        public SearchHint(string id, string title, int numItems, bool isList)
        {
            Id = id;
            Title = title;
            NumItems = numItems;
            IsList = isList;
        }
    }

编辑2:索引中有4种类型(视频\列表,视频\视频,视频\作者,视频\类别)。任何搜索都应搜索所有类型,而不是任何特定类型。

佩奇·库克(Paige Cook)

我认为这个问题与NEST预设搜寻类型的方式有关。除非您[ElasticType]SearchHint类中指定了属性,否则它将使用以下URL查询Elasticsearch:

 /_all/searchhint/_search

尝试将与您在索引中使用的类型相对应的类型名添加到类定义中,如下所示(将mytype替换为索引的适当值。此外,如果索引项上的字段与默认映射不匹配约定(驼峰式),您将不会填充数据。

 [ElasticType(Name = "mytype"]
 public class SearchHint
 {
       // Will map to field with name title in your index.
       //Use the following property to specify an alternate name
       //[ElasticProperty(Name="Title")]
       public string Title { get; set;}
 }

请参阅有关推理的NEST文档以了解所有工作原理的概述。

更新:以前的内容仅适用于单个类型内的搜索。如果要跨多种类型进行搜索,则需要.AllTypes()在搜索查询中进行指定,而无需[ElasticType]在类中指定属性。

            var result = client.Search<SearchHint>(
                body => body
                  .AllTypes()
                  .Query(
                    query => query.QueryString(
                        qs => qs.Query(keys))));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在elasticsearch中,必须与数组之一匹配,并带有可选的额外查询词

来自分类Dev

elasticsearch中的搜索查询,其返回与value_1或value_2匹配但不与之匹配的结果

来自分类Dev

C ++ 14 regex_search 0匹配

来自分类Dev

为什么我在Objective C中获得NSString的值(如0xb000000000000033)

来自分类Dev

为什么我在pygame中获得恒定的0 fps

来自分类Dev

为什么Elasticsearch给我的结果与我的查询不匹配

来自分类Dev

为什么我的更新查询在SQL Server的C#中不起作用?

来自分类Dev

为什么我获得与JPQL查询相关的HibernateException(命名查询中的错误)?

来自分类Dev

为什么我的C#程序返回0?

来自分类Dev

为什么我无法从C#中的数据库中通过sha1查询加密的密码

来自分类Dev

为什么ElasticSearch匹配查询返回所有结果?

来自分类Dev

为什么我无法从此SQL查询中获得任何结果(MS Access)

来自分类Dev

为什么只有5时我才在此查询中获得前2行

来自分类Dev

oracle sql查询在与列1和2匹配的第3列中查找具有多个值的行

来自分类Dev

在C#中,为什么dictionary [0] ++有效?

来自分类Dev

为什么我在RunWithElevatedPrivileges域\ apppool中获得i:0#.w | domain \\ username?

来自分类Dev

为什么在C#中我的计算比Python这么快

来自分类Dev

我怎样才能在Java中的正则表达式第二匹配?

来自分类Dev

为什么我得到的匹配查询不存在?

来自分类Dev

为什么我的查询ID和返回ID不匹配?

来自分类Dev

在Python正则表达式中,为什么我不能多次匹配0或更多

来自分类Dev

Elasticsearch:为什么我的查询返回太多结果?

来自分类Dev

为什么我的 ElasticSearch 查询没有获取任何记录?

来自分类Dev

为什么列在我的查询中无效

来自分类Dev

如果任一匹配查询,则返回 2 个值的结果的 MySQL 查询

来自分类Dev

为什么我的浮点值总是为 postgres 查询中的所有条目返回 0?

来自分类Dev

elasticsearch聚合-为什么匹配所有查询不返回更特定查询的键?

来自分类Dev

*** RuntimeError:每当我运行模型时,mat1 dim 1必须与mat2 dim 0匹配。

来自分类Dev

为什么我必须在jQuery查询后使用[0]

Related 相关文章

  1. 1

    在elasticsearch中,必须与数组之一匹配,并带有可选的额外查询词

  2. 2

    elasticsearch中的搜索查询,其返回与value_1或value_2匹配但不与之匹配的结果

  3. 3

    C ++ 14 regex_search 0匹配

  4. 4

    为什么我在Objective C中获得NSString的值(如0xb000000000000033)

  5. 5

    为什么我在pygame中获得恒定的0 fps

  6. 6

    为什么Elasticsearch给我的结果与我的查询不匹配

  7. 7

    为什么我的更新查询在SQL Server的C#中不起作用?

  8. 8

    为什么我获得与JPQL查询相关的HibernateException(命名查询中的错误)?

  9. 9

    为什么我的C#程序返回0?

  10. 10

    为什么我无法从C#中的数据库中通过sha1查询加密的密码

  11. 11

    为什么ElasticSearch匹配查询返回所有结果?

  12. 12

    为什么我无法从此SQL查询中获得任何结果(MS Access)

  13. 13

    为什么只有5时我才在此查询中获得前2行

  14. 14

    oracle sql查询在与列1和2匹配的第3列中查找具有多个值的行

  15. 15

    在C#中,为什么dictionary [0] ++有效?

  16. 16

    为什么我在RunWithElevatedPrivileges域\ apppool中获得i:0#.w | domain \\ username?

  17. 17

    为什么在C#中我的计算比Python这么快

  18. 18

    我怎样才能在Java中的正则表达式第二匹配?

  19. 19

    为什么我得到的匹配查询不存在?

  20. 20

    为什么我的查询ID和返回ID不匹配?

  21. 21

    在Python正则表达式中,为什么我不能多次匹配0或更多

  22. 22

    Elasticsearch:为什么我的查询返回太多结果?

  23. 23

    为什么我的 ElasticSearch 查询没有获取任何记录?

  24. 24

    为什么列在我的查询中无效

  25. 25

    如果任一匹配查询,则返回 2 个值的结果的 MySQL 查询

  26. 26

    为什么我的浮点值总是为 postgres 查询中的所有条目返回 0?

  27. 27

    elasticsearch聚合-为什么匹配所有查询不返回更特定查询的键?

  28. 28

    *** RuntimeError:每当我运行模型时,mat1 dim 1必须与mat2 dim 0匹配。

  29. 29

    为什么我必须在jQuery查询后使用[0]

热门标签

归档