【问题标题】:solr highlighting in old and new versionssolr 在新旧版本中突出显示
【发布时间】:2015-10-19 17:17:39
【问题描述】:

我正在将一个网站从旧版本的 solr (1.4.1) 迁移到另一台机器上的当前版本 (5.2.1),并注意到一些差异。

在旧版本中,我可以使用这样的网址突出显示:

http://localhost:8983/solr/select?indent=on&q=text:software/&start=0&rows=10&fl=id,score,title&wt=json&hl=on&hl.fragsize=200

在新版本中,有一点不同的是我需要指定一个集合。另一个区别是,如果我将text: 放在q 的值前面,新版本会报错。

因此,考虑到这些差异,我最终得到了这样的 URL:

http://localhost:8983/solr/default/select?indent=on&q=software/&start=0&rows=10&fl=id,score,title&wt=json&hl=on&hl.snippets=1&hl.fl=%2a&hl.fragsize=200

第二个 URL 没有让我突出显示片段/sn-ps。也就是说,旧的 URL 会给出这样的东西:

"highlighting":{
  "document0_id":{"text":["The <em>software</em> is awesome"]}}

新的 URL 是这样的:

"highlighting":{
  "document0_id":{}}

我需要做什么才能在 solr 5.2.1 中返回突出显示的片段?

[编辑]

此外,我尝试在两台机器上通过其 id 选择单个文档。在旧机器上,一个类似的网址

http://localhost:8983/solr/select?wt=json&indent=true&q=id:thedocumentid

返回一些 JSON,其中包含一个 text 字段,该字段包含原始 HTML 文档的完整可搜索文本。在新机器上类似的 url(但包含集合):

http://localhost:8983/solr/default/select?wt=json&indent=true&q=id:thedocumentid

...返回包含text字段的类似JSON。

我注意到搜索会返回正确的结果;问题是在新机器上,结果不包括高亮片段。 因此,问题似乎是我需要在索引这些文档时指定它们具有文本字段;我该怎么做?

【问题讨论】:

    标签: solr highlighting


    【解决方案1】:
    1. 在第一个查询中,您专门在文本字段中进行搜索,而在第二个查询中则不是。

    2. 在第二个中您提到了 hl.fl,这意味着“指定要突出显示的字段列表。接受以逗号或空格分隔的字段列表,Solr 应为其生成突出显示的 sn-ps。如果离开空白,突出显示 defaultSearchField"

    进行更改重试...

    http://localhost:8983/solr/default/select?q=text:software&start=0&rows=10&fl=id,score,title&wt=json&hl=on&hl.fragsize=200

    【讨论】:

    • 返回:{"responseHeader":{"status":400,"QTime":2,"params":{"hl.fragsize":"200","fl":"id,score,title","start":"0","q":"text:software","wt":"json","hl":"on","rows":"10"}},"error":{"msg":"undefined field text","code":400}}
    • 您能分享一下您收藏的 schema.xml 吗?
    • 地址为 gist.github.com/dtenenba/367ccf577651d953150a 。请注意,这是我的 /etc/solr/conf/schema.xml;我的收藏似乎没有自己的 schema.xml。我使用bin/solr create_core -c default 创建它。
    【解决方案2】:

    一位同事(没有被赏金诱惑)注意到我的 text 字段在我的 schema.xml 中有 stored="false",并建议将其更改为 true。成功了。

    【讨论】:

      猜你喜欢
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-30
      • 2019-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多