首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lucene搜索查询在solr4.6中不起作用

lucene搜索查询在solr4.6中不起作用
EN

Stack Overflow用户
提问于 2014-04-04 07:01:23
回答 1查看 50关注 0票数 0

我们有上百万的记录。最初我们使用lucene索引数据,但由于OutofMemeory异常,我们决定将数据移动到solr。下面是我们在schema.xml中声明以执行索引和seach操作的字段。

代码语言:javascript
复制
 <field name="product"      type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="source"       type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="target"       type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="pos"          type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="company"     type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="deprecated"   type="string"   indexed="true"  stored="true"  multiValued="false" />
 <field name="id"           type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>

我们正在使用solrj来查询craete solr。

Solr查询代码:

代码语言:javascript
复制
SolrQuery solrQuery=new SolrQuery();
solrQuery.setQuery("id:*_TB");
solrQuery.setRows(10000);
solrQuery.addFilterQuery(searchStr);//
QueryResponse rsp = httpserver.query(solrQuery);

在lucene中,当用户在UI中输入短语时,下面的查询是在精确搜索、模糊搜索等方面进行的。

例:-新品牌推出

用于在lucene中进行精确搜索

searchstr =(来源:“abc”或目标:“abc”或不推荐:“abc”)和公司:“tc”

模糊搜索:

代码语言:javascript
复制
 searchstr = (source:New Brand launched~0.7 OR target:New Brand launched~0.7  OR deprecated:New Brand launched~0.7) AND company:"bb"

默认搜索

searchstr =(来源:新品牌启动*或目标:新品牌启动*或不再推荐:新品牌启动*)和公司:“cc”

现在在solr中,上面的查询不起作用。当用户在UI中输入上面的“新品牌推出”短语时,它给出的是零result.Sometime,我们面临的是大小写敏感的问题,而lucene则不是这样。

请告诉我我哪里做错了。

EN

回答 1

Stack Overflow用户

发布于 2014-04-04 11:24:05

  1. 您已经声明了string类型的所有字段。字符串字段类型不标记。你真的想要这种行为吗?
  2. (source:New Brand launched* OR target:New Brand launched* OR deprecated:New Brand launched*) AND company:"cc" 如果您不在要搜索的文本周围使用双引号,那么它将不是SOLR中的短语查询。所以source:New Brand launched*实际上会被搜索为 source:New OR defaultField:Brand OR defaultField:launched* 其中defaultField将是在schema.xml中定义的默认字段,OR/将按schema.xml中指定的默认运算符使用。相反,搜索source:"New Brand launched"

阅读SOLR文档以获得更多信息。

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

https://stackoverflow.com/questions/22855797

复制
相关文章

相似问题

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