首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用dismax而不是copyField?

如何使用dismax而不是copyField?
EN

Stack Overflow用户
提问于 2015-06-05 13:45:35
回答 1查看 120关注 0票数 0

我已经试着弄清楚这一点了。如果我创建一个不带指令的模式:

代码语言:javascript
复制
<copyField source="*" dest="text" />

我好像拉不出任何东西来。但是当我添加这个指令时,事情就神奇地出现了。我正在尝试使用?defType=dismax进行查询,但这似乎没有帮助。

我是不是遗漏了什么?我的模式中需要一些特殊的东西吗?我正在为我需要搜索的所有字段建立索引。

有什么想法?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-06-06 03:29:52

如果使用defType=lucene,则需要在搜索查询前指定字段,如下所示:

代码语言:javascript
复制
q=title:test

如果没有指定字段,solr将使用solrconfig.xml中指定的默认字段。默认情况下,该字段为text。由于所有字段都被复制到text,因此搜索工作正常。如果您决定使用dismax,则查询结构会发生变化。你需要像这样放入你的搜索词:

代码语言:javascript
复制
q=test

并指定要在其他参数中搜索的字段,如下所示:

代码语言:javascript
复制
<str name="qf">field1 field2</str>

其中,field1field2是要搜索术语的字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30659144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档