c# - 使用elasticsearch进行搜索(包含)

标签 c# asp.net asp.net-mvc elasticsearch

我正在开发名为eBookRepository的ASP.NET MVC应用程序,其中包含在线图书。 电子书具有自己的标题,作者等。因此,现在我正在尝试实现搜索机制。我必须使用Elasticsearch作为搜索引擎。

我在此代码中将我的电子书索引了,它可以工作。

Uri nodeLocation = new Uri("http://localhost:9200");
IConnectionPool connectionPool = new SniffingConnectionPool(new List<Uri> { nodeLocation });
ConnectionSettings settings = new ConnectionSettings(connectionPool).DefaultIndex("ebookrepository");
  esClient = new ElasticClient(settings);

foreach (var ebook in ebooksService.GetAll())
{
            IIndexResponse result = esClient.Index(ebook, i => i.Index("ebookrepository").Type("ebook").Id(ebook.ID));
}

另外,如果我按标题搜索我的电子书,它也可以工作,但前提是搜索文本与电子书的标题完全相同。这样做的代码在这里:
var search = esClient.Search<Ebook>(s => s.Source(sf => sf.IncludeAll()).Query(q => q.Term(p1 => p1.Title, searchString)));

searchString变量是我在UI的文本框中键入的字符串(文本)。

所以我找不到像上面这样的类似代码,它应该像 .C#中包含方法一样工作,我在寻找正确的解决方案,我认为我应该使用.Match而不是.Term(.Term返回完全匹配的结果),但是我无法找到正确的解决方案。

当我在寻找正确的解决方案时,许多问题和答案都是JSON格式的(我不太擅长),但我不想要该格式,我需要.NET代码。

最佳答案

关于c# - 使用elasticsearch进行搜索(包含),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785059/

相关文章:

c# - EntityFramework 5.0 中的基类/实体

javascript - 如何从模型获取数据到 JavaScript MVC 4?

asp.net - 当 SupportsPartialRendering 设置为 false 时发生异步回发

c# - 在 MVC Controller 中使用多个参数时,Ajax 表单序列化不绑定(bind)

c# - 绑定(bind)到 ViewModel 的集合

c# - wpf中的DialogResult问题

c# - 它的网站使用的程序集的版本号列表

asp.net - 可以从 aspx 页面或使用 web.config 禁用跨站点脚本过滤器吗?

c# - 这种实现原子 double /longs/datetimes/nullables 的方法有什么问题吗?

c# - TreeView 上的递归数据绑定(bind)