我正在尝试进行查询,该查询在对象MyType
的不同字段中找到该单词的存在(所有11个字段int
和string
)。在 Postman 中,下面的查询给出了结果。
按邮递员查询:
http://esserver.com/_search
{
"query": {
"multi_match" : {
"query": "word",
"fields": [ "field1", "field2", "field3", "field4", "field5", "field6",
"field7", "field8", "field9", "field10", "field11" ]
}
}
}
下面的查询不会返回任何内容,但如果我在MyType
的3个字段内搜索,一切正常,我会收到一个结果。
public List<MyType> SearchByText(String str, string[] search_fields)
{
List<PropertyPathMarker> ppm_List = new List<PropertyPathMarker>();
search_fields.ToList().ForEach(fld => ppm_List.Add(fld));
MultiMatchQuery query = new MultiMatchQuery { Fields = ppm_List, Query = str };
// method below doesn't return any results
var result = es_client.Search<object>(s => s.Query(query)).Hits;
...
}
我错了吗?如果是,错误在哪里?
更新1:
ElasticSearch版本5.4.1,NEST版本1.5.1