2011-02-26 33 views
2

我正在使用Umbraco(它建立在Lucene.net之上)進行檢查。我很確定我的問題是與Lucene相關的。用Examine和Lucene.Net查詢逗號分隔的ID列表?

其中一個字段包含逗號分隔ID列表。我如何以正確的方式查詢這個領域?

例如,我有一個值爲「64,65」的字段。我試過使用MultipleCharacterWildcard,它只返回一個結果,如果我查詢ID 64,但不是ID 65. SingleCharacterWildcard不返回任何內容,而且如果字段中只有一個ID,則只返回一些內容。任何想法如何做一個適當的搜索?我想我正在尋找的是一個「包含」 - 查詢。

此外,這是正確的方式來處理與逗號分隔列表字段,或者它會更好地將逗號分隔列表拆分成單個字段?

回答

3

我肯定會將列表分成不同的字段。你可以有一個文件,這是表示一組值的相當自然的方式在相同的字段名稱的多個值:

venue_id: 12345 
treatment_id_set: 1234 
treatment_id_set: 2345 

有了這樣的文件,我可以簡單查詢「treatment_id_set:1234」到找到所有支持這種治療的場所。當然,治療的順序會丟失。如果您需要恢復它,請在索引單個成員時存儲逗號分隔值:

# stored, indexed 
venue_id: 12345 
# stored, not indexed 
treatment_id_list: 1234,2345 
# not stored, indexed 
treatment_id_set: 1234 
treatment_id_set: 2345 
+1

如何使用Umbraco檢查設置多個值? – Alex 2016-08-25 16:33:37