elasticsearch 嵌套多匹配场增强
我试图在多重匹配搜索中提升一些字段 查看我看到的文档,通过这样做,您可以使用boost创建一个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
字段
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=“多匹配搜索词”
}
};