我嘗試在ssjs中創建一個如下所示的搜索功能。notesdocumentcollection.ftsearch和帶有特殊字符的搜索查詢
notesdocumentcollection.ftsearch('"*' + searchword + '*"');
我有一個帶有該字段值「Dr. Max Muster」的文檔。 如果我搜索「博士」,我會得到一個結果。 如果我搜索「dr.max」,我沒有得到結果。 如果我刪除通配符並輸入「dr.max」,我會得到一個結果。
我也tryed像這樣
notesdocumentcollection.ftsearch('*' + searchword + '*');
有沒有什麼辦法讓與搜索查詢通配符和特殊字符的結果呢?
P.S. 如果我在視圖中的notesclient中嘗試此操作,它將起作用。
編輯: 此查詢。「馬醫生」我從服務器
IN FTGSearch option = 0x400089
[12CC:000A-1A30] Query: dr. ma
[12CC:000A-1A30] Engine Query: ("drma")
[12CC:000A-1A30] OUT FTGSearch error = F22
[12CC:000A-1A30] FTGSearch: found=0, returne
[12CC:000A-1A30] IN FTGSearch option = 0x40008C
[12CC:000A-1A30] Query: *"dr**ma"*
[12CC:000A-1A30] Engine Query: ("*dr**ma*")
[12CC:000A-1A30] OUT FTGSearch error = F22
[12CC:000A-1A30] FTGSearch: found=0, returned=0, start=0, count=0, limit=0
是'英尺指數'更新,對不對?也許嘗試重新創建它。但從什麼 - 看,你的搜索請求是正確的。 –
不,每一件事都會更新。正如我所說,我已經在notesclient中嘗試了它,並且每件事情都有效。 – Pudelduscher
我相信這裏的基本問題是FTSearch是面向字的。即,索引器創建了每個文檔中出現的單詞的索引,並且要做到這一點,它需要定義「單詞」是什麼。在大多數語言中,一個單詞被定義爲一組連續字符,沒有空格,也沒有標點符號。即,「博士」是一個詞。 「博士」不是一個字,因爲「。」是標點符號,它不包含在索引中,因此您無法真正搜索它。 –