elasticsearch 嵌套多匹配场增强,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 嵌套多匹配场增强,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 嵌套多匹配场增强

elasticsearch 嵌套多匹配场增强,elasticsearch,nest,elasticsearch,Nest,我试图在多重匹配搜索中提升一些字段 查看我看到的文档,通过这样做,您可以使用boost创建一个字段 var titleField=推断字段(p=>p.Title,2); 不过,我还没有弄清楚这是如何转化为字段的 像这样的事情是不对的 var-bodyField=推断字段(p=>p.Body); var titleField=推断字段(p=>p.Title,2); 变量metaDescriptionField=推断字段(p=>p.MetaDescription,1.5); var metakey

我试图在多重匹配搜索中提升一些字段

查看我看到的文档,通过这样做,您可以使用boost创建一个
字段

var titleField=推断字段(p=>p.Title,2);
不过,我还没有弄清楚这是如何转化为
字段的

像这样的事情是不对的

var-bodyField=推断字段(p=>p.Body);
var titleField=推断字段(p=>p.Title,2);
变量metaDescriptionField=推断字段(p=>p.MetaDescription,1.5);
var metakeywords字段=推断字段(p=>p.Keywords,2);
MultiMatchQuery MultiMatchQuery=新的MultiMatchQuery()
{
字段=推断字段(正文字段、标题字段、元描述字段、元关键字字段),
Query=search.Term
};
我是否需要为以下字段使用字符串名称

var titleFieldString=“Title^2”;

并将它们传递到
推断字段中

您可以使用强类型的
推断字段();有一个从
字段
字段
的隐式转换,可以使用
和()。这里有一个例子

void Main()
{
var client=新的ElasticClient();
字段bodyField=推断字段(p=>p.Body);
var titleField=推断字段(p=>p.Title,2);
变量metaDescriptionField=推断字段(p=>p.MetaDescription,1.5);
var metakeywords字段=推断字段(p=>p.Keywords,2);
var searchRequest=newsearchrequest()
{
Query=新的多重匹配查询()
{
字段=bodyField
.及(titleField)
.和(元描述字段)
.和(元关键字字段),
Query=“多匹配搜索词”
}
};
客户端搜索(searchRequest);
}
公共类页面
{
公共字符串体{get;set;}
公共字符串标题{get;set;}
公共字符串元描述{get;set;}
公共字符串关键字{get;set;}
}
这就产生了

{
“查询”:{
“多重匹配”:{
“查询”:“多匹配搜索项”,
“字段”:[
“身体”,
“标题^2”,
“元描述^1.5”,
“关键字^2”
]
}
}
}
您还可以传递一个
字段
数组,该数组还隐式转换为
字段

var searchRequest=newsearchrequest()
{
Query=新的多重匹配查询()
{
字段=新[]{
博迪菲尔德,
titleField,
元描述字段,
元关键字字段
},
Query=“多匹配搜索词”
}
};
以及传递字符串数组

var searchRequest=newsearchrequest()
{
Query=新的多重匹配查询()
{
字段=新[]{
“身体”,
“标题^2”,
“元描述^1.5”,
“关键字^2”
},
Query=“多匹配搜索词”
}
};