当前位置 : 主页 > 网络推广 > seo >

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

来源:互联网 收集:自由互联 发布时间:2021-06-16
我想动态地向用户显示哪个字段与发送给Solr的查询匹配.例如,如果我有一份文件 document field1: "yay" field2: "nay" dynamic_field_hurr_*: one: "yay" two: "nay" 我查询“yay”,我是否有可能知道yay是在f
我想动态地向用户显示哪个字段与发送给Solr的查询匹配.例如,如果我有一份文件

document
  field1: "yay"
  field2: "nay"
  dynamic_field_hurr_*:
    one: "yay"
    two: "nay"

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

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

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

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

有任何想法吗?

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

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

http://localhost:8983/solr/collection1/select?q=iPod&wt=xml&indent=true&hl=on&hl.fl=name,description

看着 :

<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>

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

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

网友评论