2012-09-06 198 views
0

我使用Apache Solr和Drupal。問題是它匹配確切的單詞。使用solr進行部分搜索

示例:搜索'Hello'將只返回單詞Hello,而不是以hello開頭的另一個單詞。

如何配置Apache Solr來搜索部分單詞?

親切

回答

1

您必須要麼使用wildcard queries例如hello *
這將使客戶端以此格式輸入查詢或在應用程序中修改它。

你也需要考慮到: -

#Analyzers提到 -

在通配符和模糊搜索,是在 搜索詞進行無文本分析

否則,您可以使用solr.EdgeNGramFilterFactory生成令牌,並且這將匹配記錄。例如你好會產生他,你好,地獄,你好,因此會匹配所有這些組合。

+0

重要的是要澄清,當使用通配符查詢時,q = hello *會返回「hello」,「Hello」和「helloworld」。但是,q = Hello *將僅從上面的列表中返回「Hello」。將任何大寫字母添加到通配符搜索字符串會使查詢大小寫敏感。 –

+0

謝謝..添加了額外的信息。 – Jayendra