在asp.net webapi中使用ElastisSearch和NEST Client搜索功能

时间:2015-05-23 21:32:56

标签: c# full-text-search asp.net-web-api2 nest elasticsearch-net

我正在使用 elastisSearch ( id="Elasticsearch.Net" version="1.5.0" targetFramework="net45") NESTclient {{1}创建具有搜索功能的 asp.net webapi 应用程序}。 我设法得到基本的搜索,但它只搜索完整的单词。我的意思是,如果我搜索这个术语,“上帝就是好”,它将返回与“好”,“上帝”,有时“是”相匹配的所有结果。有人可以指导我如何编写一个可以通过以下术语返回结果的查询,“go”“goo”“good请“goodz”甚至前缀匹配,请突出显示所有结果。我将如何使用 typehead.js bloodhood.js 来返回建议? 这是我到目前为止的实现

SearchPaper类

(id="NEST" version="1.5.0" targetFramework="net45")

索引

public class SearchPaper
    {
        public string Id { get; set; }

        public string UnitName { get; set; }

        public string Course { get; set; }

        public string UnitCode { get; set; }

        public string School { get; set; }

        public string ApplicationUser { get; set; }

        public string Description { get; set; }

    }

搜索

var paper = new SearchPaper
                {
                    Id = newPaper.PastPaperID,
                    School = newPaper.School,
                    UnitName = newPaper.UnitName,
                    UnitCode = newPaper.UnitCode,
                    Course = _ctx.Courses.Find(newPaper.CourseID).Name,
                    ApplicationUser = _ctx.Users.Find(newPaper.ApplicationUserId).UserName,
                    Description = newPaper.Description
                };


var index = client.Index(paper, i => i
                .Index("epa")
                .Type("paper")
                .Id(newPaper.PastPaperID)
                .Refresh()
                .Ttl("1m")
            );
如果有人可以帮我解决这个问题,我真的很感激...

0 个答案:

没有答案