1

我有两个动态字段,例如“Product -Name- * ” *“Product-Rating- *”。一份文档可以包含 5 个产品和各自的评级,如下所示。

<str name="Product-Name-0">HTC Wildfire S</str>
<str name="Product-Name-1">Samsung Tab 2</str>
<str name="Product-Name-2">Samsung Note</str>
<str name="Product-Name-3">IPhone5</str>
<str name="Product-Name-4">Nokia Lumia 720</str>
<int name="Product-Rating-0">5</int>
<int name="Product-Rating-1">9</int>
<int name="Product-Rating-2">7</int>
<int name="Product-Rating-3">9</int>
<int name="Product-Rating-4">9</int>

在我目前的情景中,我必须提升评级较高的产品(仅超过 6 分。注意评级将在 1 到 10 之间)。如果我想搜索一个特定的产品名称,例如“IPhone5”,那么我就是这样查询的

(Product-Name-0:IPhone5 AND (Product-Rating-0:7^3 OR Product-Rating-0:8^4 OR Product-Rating-0:9^5 OR Product-Rating-0:10^6)) OR 
(Product-Name-1:IPhone5 AND (Product-Rating-1:7^3 OR Product-Rating-1:8^4 OR Product-Rating-1:9^5 OR Product-Rating-1:10^6)) OR
(Product-Name-2:IPhone5 AND (Product-Rating-2:7^3 OR Product-Rating-2:8^4 OR Product-Rating-2:9^5 OR Product-Rating-2:10^6)) OR
(Product-Name-3:IPhone5 AND (Product-Rating-3:7^3 OR Product-Rating-3:8^4 OR Product-Rating-3:9^5 OR Product-Rating-3:10^6)) OR
(Product-Name-4:IPhone5 AND (Product-Rating-4:7^3 OR Product-Rating-4:8^4 OR Product-Rating-4:9^5 OR Product-Rating-4:10^6))

我本可以使用 Product-Name-*:IPhone5 来查找所有文件,但问题是我不知道如何根据其各自的 Product Rating 来提升该产品。

无论我是否遵循正确的方法,任何人都可以指导我吗?

或者有没有其他方法可以实现这一目标?

提前致谢。

4

1 回答 1

0

我认为您的架构设计本身存在问题,为什么单个文档中有多个名称和评级。理想情况下,每个名称都应该是具有自己评级的单独文档,这样您就可以使用评级值本身的某些功能来提升它。

于 2013-02-13T07:11:07.007 回答