Solr 返回索引 = "false" 的字段上的匹配项



我在schema.xml:中定义了一个这样的字段

<field name="ImageThumbnail" type="string" indexed="false" stored="true" required="false" />

我在文档中存储了图像缩略图的Base64字符串表示,因此我们的搜索结果屏幕可以呈现这些缩略图。这非常有效;我们在浏览器客户端中显示人和对象的图像。

问题是base64字符串的文本是可搜索的,即使schema.xml中设置了indexed="false"。

我通过为一辆汽车制造的短手车(大众汽车的缩写)打字找到了这一点,我得到了两次点击。它不会返回任何命中突出显示信息,而是返回一些匹配的记录。

我进一步搜索了"4AAQSkZJRgABAQEAYABgAAD",再次获得了150多个点击,所有点击都与ImageThumbnail列中的字符串匹配。

我错过了什么?如果Indexed="false",Solr如何在该字段上搜索和查找匹配项?如果不是Indexed="false",还有什么可以关闭字段搜索?

我正在进行/select查询,作为参考,这里是我的/select请求处理程序:

  <requestHandler name="/select" class="solr.SearchHandler">
   <lst name="defaults">
   <str name="echoParams">explicit</str>
   <int name="rows">250</int>
   <str name="wt">json</str>
   <str name="hl">true</str>
   <str name="hl.fl">*</str>
   <str name="indent">true</str>
   <str name="df">text</str>
 </lst>

感谢您的任何想法/建议;VW(在处理车辆时)将是一个常见的搜索术语,我需要排除图像字符串进行匹配。

好吧,令牌存在于您正在搜索的字符串中。您可能没有针对ImageThumbnail字段进行搜索(您的/select输出似乎表明您正在查询text字段)。这表示内容存在于text字段中,可能是因为您有一个copyField指令,该指令将与您添加到ImageThumbnail字段的内容相同的内容添加到该字段中。

在您的架构中查找任何copyField指令,查看您的内容是否指向您没有想到的字段(通配符可能会影响这一点)。还要确认在索引时没有将相同的内容添加到文本字段(或者如果您正在查询另一个字段,则为该字段)(这种情况不太可能发生)。

相关内容

  • 没有找到相关文章

最新更新