2011-04-04 74 views
3

在Lucene中,我想在數字字段上建立一個'模糊'查詢。目前我發現的全部是搜索數字字段的NumericRangeQuery類。在我構建的應用程序中,用戶需要指定一組類型以及他希望在特定集合中發生的此類對象的數量。例如,用戶可以查詢「4湯匙,13叉和1刀」。搜索數字字段

我需要一個基於期望的金額和實際金額的距離計算每個數字字段的查詢。例如,score =(distance + 1)^ - 1應該會產生很好的結果。有沒有一種簡單而有效的方法呢?

+0

嗨大衛。我會爲下面的回答者提供一些反饋意見,以便他們知道他們是否回答了問題。它有助於激勵人們投入努力。 – 2011-12-09 05:33:28

回答

1

A Payload應該實際上做你想要的。 它允許您將任意數據附加到您的每個術語,然後可以在搜索過程中檢索以影響評分,匹配和排序。

具體來說,看看PayloadNearQuery

從你描述的例子中可以看出,對於你需要做什麼而言有點含糊。例如數字4,13和1與查詢勺子,叉子和刀子的命中次數有關嗎?或者,你是否將這些計數存儲在索引中?