【发布时间】:2016-05-04 16:34:28
【问题描述】:
我将 solr 用于企业应用程序。到目前为止,它运行良好,因为我正在使用 ngram 字段进行搜索。它适用于部分查询(与索引 ngram 匹配)。但我遇到的问题是,如何强制执行精确的查询匹配?例如,查询“Test 1”应该匹配与用户使用双引号输入时完全相同的文本。目前由于我使用了一些标记器和过滤器,双引号被过滤掉了,查询"test 1", "tEst 1" or "TEST 1"没有区别(这是因为我使用了分析器链,但它需要与ngrams和部分搜索一起使用) .
目前我正在搜索一个 ngram 查询字段。为了强制执行精确查询匹配,我应该怎么做?什么是最佳做法?目前我认为是从客户端识别双引号并将查询字段更改为原始字段(没有ngrams)。但我觉得应该有更好的方法来做到这一点,因为我遇到的问题是通用的,solr 是一个完整的企业级搜索引擎。
【问题讨论】:
标签: search solr enterprise