我尝试实现一个具有提升功能的查询。我想问一个例子:
字段:视图(LongField),timeMillis(LongField),内容(TextField),类型(StringField),userId(StringField)
我想在内容字段中搜索一个单词。但我必须使用views,timeMillis和类型字段来提升。
索引文档在此处:
提升查询时间的字段中的重要性顺序:类型,timeMilles,views
预期结果如:
timeMilles: 1465551039323 views: 22 userId: 3 类型: admin 内容:测试测试
timeMilles: 1465558048204 观看次数: 2 userId: 1 类型: admin 内容:测试测试
timeMilles: 1465558045071 views: 32 userId: 1 类型:客户端*内容:*测试测试
timeMilles: 1465551037318 views: 28 userId: 2 类型:客户端内容:测试测试
timeMilles: 1465551034310 观看次数: 18 userId: 2 类型:客户内容:测试测试
我认为以一定的间隔对视图和timeMilles进行分组,并为这些间隔创建查询。之后,我将这些间隔查询的提升值设置为其重要性。例如,0.1f表示1< = views< = 10,2.2f表示11< = views< = 20,等等。对于timeMilles字段,它可以相同。
其次,我认为创建一个术语查询,其中包含类型字段的术语文本。术语的文本是“admin”和“client”。 “admin”查询的提升值大于“客户端”查询。
最后,我创建了内容查询,然后将所有查询添加到布尔查询中。当我搜索这些查询时。我的结果与预期结果相似,但不正确。
timeMilles: 1465558048204 观看次数: 2 userId: 1 类型: admin 内容:测试测试
timeMilles: 1465551039323 views: 22 userId: 3 类型: admin 内容:测试测试
timeMilles: 1465558045071 views: 32 userId: 1 类型:客户端*内容:*测试测试
timeMilles: 1465551034310 观看次数: 18 userId: 2 类型:客户内容:测试测试
timeMilles: 1465551037318 views: 28 userId: 2 类型:客户端内容:测试测试
如何按预期结果更正结果?你能否在一个领域提出改进策略的建议?