【问题标题】:Search / indexing on small binary fields in SOLRSOLR中小型二进制字段的搜索/索引
【发布时间】:2014-09-10 18:48:02
【问题描述】:

需要用 SOLR 索引小的二进制字符串,但没有这样做。实际上,我正在尝试搜索诸如 SHA-1、MD5 和 UUID 之类的哈希值。

有打算索引的二进制字段。

<field name="fi" type="binary" indexed="true" stored="true" required="false" multiValued="false" />

有二进制类型定义。

<fieldtype name="binary" class="solr.BinaryField"/>

为什么即使使用fi:* 请求也无法在此字段上选择任何内容?我的方法有什么替代方法吗?

【问题讨论】:

  • 尝试将 fi:[* TO *] 作为搜索字符串,看看是否会给出任何结果。

标签: search solr lucene binary


【解决方案1】:

如果您的数据只是 SHA1 等,我认为您可以使用 StrField 完美地完成这项工作。当然,如果您需要前缀搜索,请务必使用 solr.EdgeNGramTokenizerFactory 正确分析它。

关于您正在使用的二进制字段,我自己从来不需要使用它,但显然所做的是将您发送的任何内容都编码为 base64,然后对其进行索引,这样您就可以真正发送二进制数据(如 .exe 文件) .

【讨论】:

  • 终于来到了solr.StrField。太糟糕了,实际上甚至 UUIDField 恰好只是内部的字符串,并带有额外的开销。对这样的架构感到羞耻 - 也许有一天我会加入改进这一点的努力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-04
相关资源
最近更新 更多