我正在使用 Examine for Umbraco(构建于 Lucene.net 之上)来进行搜索。我很确定我的问题与 Lucene 有关。
我的一个字段包含逗号分隔 ID 的列表。如何以正确的方式查询该字段?
例如。我有一个值为“64,65”的字段。我尝试过使用 MultipleCharacterWildcard,它仅在查询 ID 64 时返回结果,但不返回 ID 65。 SingleCharacterWildcard 不返回任何内容,而 Fuzzy 仅在字段中只有一个 ID 时才返回结果。关于如何进行适当的搜索有什么想法吗?我想我正在寻找的是“包含”查询。
这也是处理带有逗号分隔列表的字段的正确方法吗?还是将逗号分隔列表拆分为单独的字段会更好?
我当然会把列表分成不同的字段。文档中的同一字段名称可以有多个值,这是表示一组值的相当自然的方式:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)