首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr中的和/或搜索问题

Solr中的和/或搜索问题
EN

Stack Overflow用户
提问于 2015-03-26 12:59:19
回答 2查看 50关注 0票数 0

在solr搜索中,我面临着一个奇怪的问题或意想不到的行为。

我在搜索“歌德”和“席勒”这两个词,如下所示:

代码语言:javascript
复制
http://localhost/solr/select/?&q=abstract:%28goethe%20or%20schiller%29&indent=true

虽然这个搜索很好,但我不想只查看“抽象”字段,而是所有字段。所以我想我会去寻找

代码语言:javascript
复制
http://localhost/solr/select/?&q=goethe%20schiller&indent=true

但这只会返回两个术语出现的地方(和)。

这似乎很奇怪,因为我没有将"and“定义为”defaultOperator“在我的schema.xml中。即使我在那里明确地定义了" or“或者尝试了类似的

代码语言:javascript
复制
http://localhost/solr/select/?&q=goethe%20schiller&indent=true&q.op=OR

我没有得到预期的结果,仍然只有那些两个术语出现的地方。总之:除了显式定义的字段外,我不能执行OR搜索。

我有什么选择吗?还有其他地方可以定义defaultOperator吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-26 13:10:45

回答我自己的问题:是的,还有另一种选择。如果

代码语言:javascript
复制
<str name="mm">100%</str>

在requestHandler中设置为100%,这等于"AND",而0%等于"OR“。我有这套,似乎是在旧版本的Solr中这样做的。

很抱歉给您带来不便。

票数 0
EN

Stack Overflow用户

发布于 2015-07-29 07:24:19

对于SolrVersion5.1.0,默认操作符在schema.xml中指定。

代码语言:javascript
复制
<solrQueryParser defaultOperator="OR"/>

如果要使用AND或or代替默认的搜索查询,可以为其定义查询解析器:

代码语言:javascript
复制
q={!q.op=AND}+KEYWORDS

对于较早版本的solr,是的,您必须指定mm(最小值“应该”匹配)值。有关mm字段的详细信息可以找到这里

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

https://stackoverflow.com/questions/29279061

复制
相关文章

相似问题

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