コード例 #1
0
        public JsonResult FileSearch(string search)
        {
            //   if (!string.IsNullOrEmpty(search_string))
            //{
            var responsedata = _connectionToEs.ESClient().Search <Files>
                                   (s => s.Source(sf => sf.Excludes(se => se.Fields(f => f.Body)))
                                   .Index("may_kivrik")
                                   .Size(50)
                                   .Query(q => q
                                          .MatchPhrase(m => m
                                                       .Field(f => f.FilePath)
                                                       .Query(search)
                                                       .Analyzer("standard")
                                                       .Slop(2)
                                                       )
                                          ||
                                          q.MatchPhrase(m => m
                                                        .Field(f => f.Author)
                                                        .Query(search)
                                                        .Analyzer("standard")
                                                        .Slop(2)
                                                        )
                                          ||
                                          q.MatchPhrase(m => m
                                                        .Field(f => f.Keywords)
                                                        .Query(search)
                                                        .Analyzer("standard")
                                                        .Slop(2)
                                                        )
                                          ||
                                          q.MatchPhrase(m => m
                                                        .Field(f => f.Body)
                                                        .Query(search)
                                                        .Analyzer("standard")
                                                        .Slop(2)
                                                        )
                                          )
                                   );

            var datasend = (from hits in responsedata.Hits
                            select hits.Source).ToList();


            return(Json(new { datasend, responsedata.Took }, behavior: JsonRequestBehavior.AllowGet));
        }