我正在学习solr。我想在Solr中使用<child>/target/generated-resources
。例如:
如果文档包含ngrams
,则该文档不应返回以下查询:
new york car driver
但它应该返回以下查询
/select?q=york
/select?q=new
/select?q=new car
(它应该将纽约视为一个单词,以获得更好的结果。有些单词序列需要考虑为单个单词。例如: - 纽约,汤姆克鲁斯等。这些单词是预定义的;所有其他单词应该被对待正常)
如何使用Solr搜索实现此目的?
答案 0 :(得分:1)
第一次尝试应该在“纽约”这样的术语周围加上引号并尝试。
这将是你的第二次尝试。
将标记符从StandardTokenizerFactory
更改为KeywordTokenizerFactory
。
更改reindex数据并再次查询后。
第三个选项是使用StrField类型,它不能进行任何标记化或分析,只会给出完全匹配的结果。
不分析StrField类型,而是逐字索引/存储。
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>