我正在尝试查看是否可以自定义solr以更改搜索特定字段的方式。自定义Solr如何搜索特定字段
为了更好地了解情况和问题,这是我想做的事 - 我有5场,他们都将是文本字段[不要过分解读语法..]
<field>a</field> ==> will contain normal text [lazy fox jumps over ..]
<field>b</field> ==> will contain normal text [lazy fox jumps over ..]
<field>c</field> ==> will contain numbers separated by a delimiter [1, 2, 4, 6]
<field>d</field> ==> will contain numbers separated by a delimiter [1, 2, 4, 6]
<field>e</field> ==> will contain numbers separated by a delimiter [1, 2, 4, 6]
我的查询将针对所有这5个字段进行搜索,并且字段c,d的值为&e也将包含用逗号分隔的数值。
搜索时我想执行查询中值的相交&该字段在索引中的值。我怎样才能做到这一点?
=>查看问题的另一种方式是,如果查询字段中的某个值存在于索引内的字段中,那么我应匹配此文档以返回。这看起来像一个简单的“OR”搜索,但每个字段内的值可能是100的顺序..所以构建一个或许查询许多可能的输入值不会是我猜。如果这能够很好地扩展,那么这可能是一个可能的解决方案,但不确定它是否能够很好地扩展。
我该如何实现这样的定制? - 搜索/查询性能是一个将要考虑的关键因素。
默认查询运算符仅适用于字段之间的正确吗?即,在a,b,c,d和e之间。 你能指定一个默认的查询操作符跨越不同的字段和每个字段吗? - 另一种方法是设置默认值为OR,并在查询中明确指定AND。 – karthik 2011-04-29 16:45:16
不,默认的操作符将在任何空格分隔的条件下工作,除非我们通过用引号括起来使它们成为短语。 – Umar 2011-04-30 07:54:45