Php 在Apache solar搜索中未获得预期结果

Php 在Apache solar搜索中未获得预期结果,php,solr,drupal-7,Php,Solr,Drupal 7,我最近将ApacheSolr服务器从4.3.1升级到了5.5。我正在尝试通过电子邮件ID搜索用户。下面的查询在4.3.1中起作用,并显示与abc@gmail.com但在5.5中,它显示了匹配的结果 fq=bundle:(user)&fq=!entity_id:[52115 TO 57116]&q=abc@gmail.com*&hl=true&sort=hs_weight desc&qf=full_name^5.0 sap_code^5.0 ts_name^

我最近将ApacheSolr服务器从4.3.1升级到了5.5。我正在尝试通过电子邮件ID搜索用户。下面的查询在4.3.1中起作用,并显示与abc@gmail.com但在5.5中,它显示了匹配的结果

fq=bundle:(user)&fq=!entity_id:[52115 TO 57116]&q=abc@gmail.com*&hl=true&sort=hs_weight desc&qf=full_name^5.0 sap_code^5.0 ts_name^5.0 ts_mail^5.0&defType=edismax&lowercaseOperators=true&rows=100&start=0&wt=json&json.nl=map

如何解决这个问题

您确定架构中的字段类型相同吗?很难从你的问题中分辨出你所看到的是你没有预料到的,但这听起来像是与
文本
字段而不是
字符串
字段的匹配。如果您要继续更新模式和类型,我可能还建议您将其完全升级到比5.5更新的版本。如果我的字符串具有特殊字符,则它不会像abc那样获取结果_cd@gmail.com@特定于为该字段定义的架构的GirijaS。它与版本无关,只是您升级了,并且在新架构中没有得到相同的字段定义。@MatsLindh,该字段的模式与版本中的字段类型相同:org.apache.solr.Schema.TextFieldDocs:132426标志:索引标记化存储术语向量存储模式Index@GirijaS您可以自由提出自己的问题,并提供适当的详细信息,但文本字段通常根据定义的标记器进行标记。如果标记器在该字符上拆分(StandardTokenizer和类似工具会这样做),那么结果将取决于处理规则。如果是
字符串
字段或附加了
关键字标记器
的文本字段,则只会返回完全匹配的内容。但请添加您自己的问题和所有适当的细节;不同问题的注释不是讨论此问题的地方。您确定模式中的字段类型相同吗?很难从你的问题中分辨出你所看到的是你没有预料到的,但这听起来像是与
文本
字段而不是
字符串
字段的匹配。如果您要继续更新模式和类型,我可能还建议您将其完全升级到比5.5更新的版本。如果我的字符串具有特殊字符,则它不会像abc那样获取结果_cd@gmail.com@特定于为该字段定义的架构的GirijaS。它与版本无关,只是您升级了,并且在新架构中没有得到相同的字段定义。@MatsLindh,该字段的模式与版本中的字段类型相同:org.apache.solr.Schema.TextFieldDocs:132426标志:索引标记化存储术语向量存储模式Index@GirijaS您可以自由提出自己的问题,并提供适当的详细信息,但文本字段通常根据定义的标记器进行标记。如果标记器在该字符上拆分(StandardTokenizer和类似工具会这样做),那么结果将取决于处理规则。如果是
字符串
字段或附加了
关键字标记器
的文本字段,则只会返回完全匹配的内容。但请添加您自己的问题和所有适当的细节;不同问题的评论不是讨论这个问题的地方。