【发布时间】:2010-10-14 05:15:26
【问题描述】:
我有疑问是否可以在 solr/lucene 中使用通配符执行短语搜索,就好像我有两个查询都具有完全相同的结果一样。 一种是:
+Contents:"change market"
另一个是:
+Contents:"change* market"
我认为第二个应该匹配“改变市场”,但它不返回任何匹配项。
【问题讨论】:
我有疑问是否可以在 solr/lucene 中使用通配符执行短语搜索,就好像我有两个查询都具有完全相同的结果一样。 一种是:
+Contents:"change market"
另一个是:
+Contents:"change* market"
我认为第二个应该匹配“改变市场”,但它不返回任何匹配项。
【问题讨论】:
您可以在 Lucene 中使用 ComplexPhraseQueryParser 执行此操作。 Solr 可以使用QParserPlugin 插入自定义查询解析器。您也可以使用这两个来获得所需的 Solr 功能。
【讨论】:
IMO 无法使用短语搜索通配符。 您可能需要考虑将两个查询与邻近搜索一起使用。(q=change* market&qs=1) http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_search_for_one_term_near_another_term_.28say.2C_.22batman.22_and_.22movie.22.29
【讨论】: