0

我想在地址和文本中搜索纽约,我启用了调试日志,下面是调试日志....

rawquerystring: "shipment_recepient_name6:New york", 
querystring: "shipment_recepient_name6:New york", 
parsedquery: "+shipment_recepient_name6:New +shipment_recepient_name1:york ",     parsedquery_toString: "+shipment_recepient_name6:New +shipment_recepient_name1:york ",

我的疑问是我在 field6 上搜索,为什么它在 field1(我的默认搜索字段)上搜索单词的其余部分。你能建议一个模式,我可以在其中搜索地址并根据最高匹配分数返回 res -</p>

我想搜索纽约,因为其中一个字段中的单词包含逗号分隔的地址。

4

1 回答 1

0

您是否尝试过对查询进行 url 编码:

http://localhost:8080/solr/select?q=shipment_recepient_name6:New%20york

此外,由于您需要完全匹配的短语,请尝试使用引号。

同样非常重要的是,您向 Solr 抛出的那些句子最终如何在 solr 的索引中查找。要检查这一点,您可以使用一个名为Luke的出色工具(非常适合初学者了解它在后台是如何工作的)。

有关高级查询,请参阅以下资源:
http ://www.lucidimagination.com/blog/2010/05/23/whats-a-dismax/ http://wiki.apache.org/solr/DisMaxQParserPlugin
http://wiki。 apache.org/solr/ExtendedDisMax
http://www.lucidimagination.com/blog/2009/02/22/exploring-query-parsers/
http://www.lucidimagination.com/blog/2011/08/08/solr -power-isfdb-part-11/

于 2012-04-23T09:58:41.570 回答