是否可以检索与Solr中的查询匹配的字段名称?

cwa*_*wap 6 solr solrnet

我想动态地向用户显示哪个字段与发送给Solr的查询匹配.例如,如果我有一份文件

document
  field1: "yay"
  field2: "nay"
  dynamic_field_hurr_*:
    one: "yay"
    two: "nay"
Run Code Online (Sandbox Code Playgroud)

我查询"yay",我是否有可能知道yay是在field1和dynamic_field_hurr_one中找到的?

我觉得我已经浏览了整个文档,并认为我应该使用突出显示,但我不能让它在动态字段上工作.在正常的字段上它工作正常!

一点背景:我正在使用Solr.Net,在课堂上我映射到我的文档,我有IDictionary<string, string>动态添加其他信息.经过一些阅读后,我想到了映射到动态字段的字典,除了突出显示外,它完美地运行.

我还尝试将动态字段中的所有数据复制到文本字段中,但我认为没有办法复制"实际字段名称"?我只能让Solr复制该值,我认为这是合理的.

有任何想法吗?

Aru*_*run 7

有一种间接的方法可以使用一个非常有趣的工具,突出显示.

使用默认的solr模式执行此操作以了解解决方案:

http://localhost:8983/solr/collection1/select?q=iPod&wt=xml&indent=true&hl=on&hl.fl=name,description
Run Code Online (Sandbox Code Playgroud)

看着 :

<lst name="highlighting">
<lst name="IW-02">
<arr name="name">
<str><em>iPod</em> & <em>iPod</em> Mini USB 2.0 Cable</str>
</arr>
</lst>
<lst name="F8V7067-APL-KIT">
<arr name="name">
<str>Belkin Mobile Power Cord for <em>iPod</em> w/ Dock</str>
</arr>
</lst>
<lst name="MA147LL/A">
<arr name="name">
<str>
Apple 60 GB <em>iPod</em> with Video Playback Black
</str>
</arr>
</lst>
</lst>
Run Code Online (Sandbox Code Playgroud)

所以,在这里你有匹配的字段.您可以选择忽略实际突出显示部分的其余部分,并仅使用与您的目的匹配的字段名称.

所以你会在你的情况下要求这样的东西 &hl=on&hl.fl=dynamic_field_hurr_one,dynamic_field_hurr_two