无法获得与ElasticSearch C#NEST合作的重点

时间:2016-05-13 22:05:34

标签: c# nest elasticsearch-net

我尝试使用下面的代码从搜索中获取精彩内容。尽管尝试了各种各样的事情,结果上的Highlights集合总是空的。

使用ElasticSearch服务器2.3.1和NEST 2.3.0。

results = _client.Search<dynamic>( d =>
            d.AllIndices()
            .AllTypes()
            .Query( q => q.QueryString( s => s.Query( query ) ) )
            .Highlight(h => 
                 h.Fields( f => 
                    f.Field( "*" ).PreTags("<em>").PostTags("</em>")
                 )
             )
         );

2 个答案:

答案 0 :(得分:0)

根据我的经验,要让荧光笔通过*字段请求返回数据,您还需要在其自己的突出显示查询中提供查询的副本。

请原谅原生格式,但这里有一个例子,它将从*字段模式中产生高光:

  "fields": {
     "*": {
        "highlight_query": {
           "query_string": {
              "query": "same as string query value"
           }
        }
     }
  }

答案 1 :(得分:0)

我想这是因为你正在使用查询字符串。您正在查询多个字段,您可以将其更改为MultipleMatch,或者如果您只是查询1个字段,则可以使用Match。请注意特殊字符。假设你在Field1上查询,但查询关键字(搜索关键字)就像这个字段2:“你的关键字在这里”我不认为你可以有任何亮点。或者你可能得到了错误的结果。< / p>