我們有一個使用MarkLogic node.js的搜索應用程序。我們使用parsedQuery這樣的:MarkLogic node.js - 是否可以在parseBindings中支持派生值?
qb.parsedFrom(prop.search,
qb.parseBindings(
qb.word('name', qb.bind('name')),
qb.word('birthdate', qb.bind('birthdate')),
qb.range('count', qb.datatype('float'), qb.bind('count'))
)
)
以上目前支持的搜索語法,如「數GT 50」等,我們願意支持使用派生的值,如年齡搜索。也就是說,我們希望支持像「年齡GT 10」這樣的搜索語法,其中年齡值不存儲在數據庫中的文檔中,而是需要根據生日中的實時計算。我們不能將年齡存儲在文檔中,因爲年齡因當前日期而異。
這是可能的,如果是這樣,如何?如果它的事項,我們正在使用ML8
Dave的另一個好建議是對客戶中的標準進行計算。在這個例子中,如果你想找到一個大於10的年齡,你會搜索一個小於過去10年的日期。 – ehennum
另一個腳註 - 如果您想根據聚合進行過濾,例如對一組行進行計數或求和,則可以在MarkLogic 9中使用Optic。 – ehennum