首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >solr忽略多字段搜索中的值

solr忽略多字段搜索中的值
EN

Stack Overflow用户
提问于 2018-06-05 03:34:14
回答 1查看 171关注 0票数 0

我刚开始使用Solr,我不确定我错过了什么。我有2个领域,streetAddresses和城市。streetAddresses是文本字段,cities是字符串字段。这在我开始研究Solr之前就已经配置好了。字段的schema.xml如下所示

代码语言:javascript
运行
复制
<types>
<fieldType class="org.apache.solr.schema.TextField" name="TextField">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>
<fieldType class="org.apache.solr.schema.StrField" name="StrField"/>
</types>
<fields>
 <field indexed="true" multiValued="true" name="streetAddresses" stored="true" type="TextField"/>
 <field docValues="true" indexed="true" multiValued="true" name="cities" stored="true" type="StrField"/>
</fields>

问题是,当我查询多个字段时,streetAddresses的解析字符串只有字符串的第一部分,其余部分被忽略。例如,如果我在streetAddresses中搜索111 Main St,在波士顿搜索cities,则查询如下

代码语言:javascript
运行
复制
q=streetAddresses%3A111+Main+st+OR+cities%3ABoston&wt=json&indent=true&debugQuery=true&defType=edismax&qf=streetAddresses%2Ccities

调试过程看起来像这样

代码语言:javascript
运行
复制
"rawquerystring": "streetAddresses:111 Main st OR cities:Boston",
"querystring": "streetAddresses:111 Main st OR cities:Boston",
"parsedquery": "(+(streetAddresses:111 cities:Boston))/no_coord",
"parsedquery_toString": "+(streetAddresses:111 cities:Boston)",
"explain": {},
"QParser": "ExtendedDismaxQParser",
"altquerystring": null,
"boost_queries": null

我得到了基于111的streetAddresses的结果,但是字符串的其余部分(Main st)被忽略了。我试着搜索这个问题,有些人提到了停用词或单词限制,但我没有使用任何这些。有什么想法吗?

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

https://stackoverflow.com/questions/50687607

复制
相关文章

相似问题

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