我已经设置了Solr的第一个'安装',其中每个索引(文档)代表一个音乐作品(包含数字(int),标题(字符串),版本(字符串),作曲家(字符串)和关键字(串))。我已将字段'标题'设置为默认搜索字段。Solr:我如何索引和搜索几个字段?
但是,当我想对所有字段执行查询时,我该怎么办?我想让用户有机会在所有领域进行搜索,并且据我所知至少有两种选择:
(1)指定查询应针对哪些字段。
(2)使用复制域设置Solr配置,以便将添加到每个域的值复制到可用于搜索的“全部捕获”域。然而,在这种情况下,我不确定事情会发生什么,当我考虑到各个领域的数据类型并不完全相同时(各个领域对较小的程度会通过过滤器,但作为复制领域值是在原始字段的过滤器运行之前从原始字段中获取的,我必须将一个单一过滤器应用于复制字段上的所有值。这又会导致整数被“过滤”,就像字符串一样将)。
这是我应该使用复制域的情况吗?乍一看,似乎在所有领域搜索都更加“灵活”。但是,也许有成本?
所有的反馈赞赏!谢谢!
谢谢你的回答。然而,我不知道它是否有任何后果(例如,性能方面)来搜索多个字段,而不是基于复制字段值(复制字段)搜索单个字段? – sbrattla 2010-06-14 07:11:30
在性能方面,我认为不同领域的搜索与在同一领域多次搜索之间存在显着差异。 Lucene必须对查询的每个条款进行二分查找。不管它在相同的字段上进行n次搜索还是在不同的字段上进行n次搜索都不应该不同。 – 2010-06-14 13:30:51
感谢您的输入! – sbrattla 2010-06-14 13:48:30