Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用copyField突出显示Solr_Solr_Highlighting - Fatal编程技术网

用copyField突出显示Solr

用copyField突出显示Solr,solr,highlighting,Solr,Highlighting,我有一个solr实例,我在索引时对一个文本体使用copyField,将其通过两个不同的分析器。我希望两个字段都高亮显示,以便将这两个字段都设置为stored=true。这会用我认为是重复的数据来扩充索引的文本存储 所以 1) 是否有方法将一个字段指向存储文本的其他字段 和/或 2) 是否有更好的方法使用不同的分析仪保持高亮显示 我正在使用solr 6.5,但可以更新为7。1)是否有方法将一个字段指向存储文本的其他字段 答:如果你试图将一个字段指向另一个字段的分析值,答案是否定的。实际上,你所能做

我有一个solr实例,我在索引时对一个文本体使用copyField,将其通过两个不同的分析器。我希望两个字段都高亮显示,以便将这两个字段都设置为stored=true。这会用我认为是重复的数据来扩充索引的文本存储

所以

1) 是否有方法将一个字段指向存储文本的其他字段

和/或

2) 是否有更好的方法使用不同的分析仪保持高亮显示

我正在使用solr 6.5,但可以更新为7。

1)是否有方法将一个字段指向存储文本的其他字段

答:如果你试图将一个字段指向另一个字段的分析值,答案是否定的。实际上,你所能做的就是使用copyField在同一输入值上有两个不同的分析仪

2) 是否有更好的方法使用不同的分析仪保持高亮显示

A:恐怕答案又是否定的,至少100%的匹配是否定的。。。您可以使用参数hl.fl查询一个字段并引用另一个字段(使用不同的分析仪)以突出显示。但正如所说:

如果查询引用的字段与要查询的字段不同 突出显示,并且它们有不同的文本分析,查询可能不存在 突出显示它应该具有的查询术语,反之亦然。使用的分析 是高亮显示的字段(hl.fl),而不是查询字段


谢谢不幸的是,这正是我所期待的答案。文本突出显示的存储成本似乎比我希望的要高。我有18个复制字段。必须有一种方法从copyField的每个标记引用其在原始字段中的开始/结束位置。