每个字段具有不同相关性的Cloudant-Lucene索引

每个字段具有不同相关性的Cloudant-Lucene索引,cloudant,Cloudant,如何在索引创建期间指定一个字段比另一个字段具有更大的相关性 示例:我有一个带有标题和描述字段的文档,希望标题字段的内容在查询时更加重要 doc1:标题:“你好,世界”,描述:“只是问候” doc2:标题:“问候”,描述:“大家好,你好,你好” 索引(“默认”,文档标题); 索引(“默认”,文档说明) 搜索术语“hello”应返回doc1,其相关性高于doc2,因为“hello”一词出现在标题字段中,即使doc2包含该词3次 如何实现这一点?您可以在查询时指定一个提升,例如,如果您单独为项目编制索

如何在索引创建期间指定一个字段比另一个字段具有更大的相关性

示例:我有一个带有标题和描述字段的文档,希望标题字段的内容在查询时更加重要

doc1:标题:“你好,世界”,描述:“只是问候” doc2:标题:“问候”,描述:“大家好,你好,你好”

索引(“默认”,文档标题); 索引(“默认”,文档说明)

搜索术语“hello”应返回doc1,其相关性高于doc2,因为“hello”一词出现在标题字段中,即使doc2包含该词3次


如何实现这一点?

您可以在查询时指定一个提升,例如,如果您单独为项目编制索引

index("title", doc.title);
index("description", doc.description);
然后在查询时,您可以指定标题的权重大于描述字段的权重

q=(title:hello)^100 OR (description:hello)

其中,
^100
表示该术语被提升。见

谢谢,格林。这听起来像是一个选择。当然,我的默认索引使用了来自10多个不同字段的数据,这使得当我必须全部添加这些字段时,查询相当长。也许类似的方法可以奏效:
q=“hello”或(title:“hello”)^100
是的,Glynn,这对单个词很有效,但对多个搜索词很快就会变得复杂
q=hello world或((title:hello)^100或(title:world)^100)
除非我搜索精确的字符串,否则我必须将它们拆分为单独的字段术语组合。否则,只有第一个单词用于特定于字段的seacrh。它应该是
q=hello和world或((title:hello)^100和(title:world)^100)
我的示例演示了如何在一个字段(title)而不是另一个字段中增强匹配。对不起,如果不清楚的话。是的,我理解。其想法是在默认字段中搜索所有输入的单词,但在“title”字段中添加boost。如果用户搜索5个单词,我需要将特定于字段的查询部分重复5次,以实际增强标题字段中包含这5个单词的文档。