ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用NEST为ElasticSearch获取空结果

2019-11-22 23:08:26  阅读:187  来源: 互联网

标签:nest elasticsearch asp-net c


我正在使用.NET的ElasticSearch和NEST C#库进行我的第一步.这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Nest;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

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

        var post = new Post();
        post.id = 1;
        post.title = "the title";

        var t = client.Index(post);

        var results = client.Search<Post>(s => s.From(0)
            .Size(10)
            .Fields(f => f.id, f => f.title)
            .Query(q => q.Term(f => f.title, "title", Boost: 2.0))
            );

    }
}
public class Post
{
    public int id { get; set; }
    public string title { get; set; }
}

我期望从Post 1获得结果,因为其中包含“ title”关键字,但结果集为空.我做错了什么?

解决方法:

问题是正在使用术语查询.这将仅与索引的确切文本匹配.术语查询是useful for id type searching.

如果您要进行自由文本搜索,请尝试使用匹配查询进行通用的自由文本搜索. You can read more about it here on the official docs,并希望通过熟悉文档来发现如何构建有趣且功能强大的查询.

祝好运

标签:nest,elasticsearch,asp-net,c
来源: https://codeday.me/bug/20191122/2063365.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有