如果我的意图正确(我在搜索领域工作,这不仅仅是关于词袋,它也是关于意图:)),你去:
解决方案 1
第 1 步:创建一个字段,例如在您的 schema.xml 中将其称为数据(不要忘记将其标记为多值),例如:
<field name="Data" type="text" indexed="true" stored="true" required="false" multiValued="true" />
第 2 步:您可以使用 schema.xml 中的 copyfield 指令将要搜索的所有字段的内容复制到 Data (在上面创建),例如
<copyField source="caseId" dest="Data" />
<copyField source="modifiedBy" dest="Data" />
<copyField source="casename" dest="Data" />
第 3 步:在 schema.xml 中将默认搜索字段 () 标记为 Data
现在,当您发出查询时,它将搜索您复制到数据的所有字段。
解决方案 2
有一个替代解决方案,其中在查询本身中,您可以指定字段名,例如 q=Hello+casename:Hello (在这种特殊情况下,它将在标记为默认的字段中搜索 hello 并在 casename 中搜索 Hello)。您的查询中可以有多个搜索声明。但我建议我以前的方法。