我正在使用Marklogic的search:search()
函數來處理我的應用程序中的搜索,並且我有一個用例需要能夠執行文本搜索以從屬性返回匹配的用例在我的文件上。MarkLogic文本搜索:返回基於匹配內部屬性的結果
例如,使用本文件:
<document attr="foo attribute value">Some child content</document>
我希望用戶能夠執行了「foo」的文本搜索(不使用限制),以及基於內部比賽返回我的文檔屬性@attr。有沒有辦法配置查詢選項來允許這個?
在attr中鍵入:「foo」不是一個可行的解決方案,因此使用屬性範圍約束將無濟於事,用戶仍然需要能夠搜索不在屬性節點中的其他子內容。我在想也許有一種方法可以通過選項將cts:query OR'd添加到搜索中,從而允許搜索此屬性?
開放給任何和所有其他解決方案。
謝謝!
編輯:
一些額外的信息,以幫助澄清:
我需要能夠在內容中的其他地方的屬性中找到匹配,和。使用上面的示例,搜索「foo」,「子內容」或「foo子內容」應該都會返回我的文檔。這意味着任何與搜索AND(例如<additional-query>
,其目的是幫助限制搜索並且不擴展它)的查詢選項將不起作用。我正在尋找的是(可能)額外的查詢選項,它將與原始搜索進行OR運算,以便允許通過子節點內容,屬性內容或兩者的混合進行搜索。
換句話說,就搜索而言,我希望MarkLogic處理任何與元素文本節點完全相同的屬性節點內容。
謝謝!
看起來很有前途 - 但我需要用戶能夠鍵入自然文本搜索輸入 - 因此在這種情況下,「foo」可能是用戶輸入的任何內容,並且可能會隨時更改。另外,用戶也可以搜索/輸入任意數量的其他東西,所以我不能通過將輸入插入到結構中來動態構建搜索選項。這看起來像是在正確的道路上 - 你是否知道有什麼方法可以將這與任何搜索條件傳遞到搜索功能中相關? –