我有一个很大的问题和有关solr行为的问题,请你帮我解决这个问题。Solr中的准确字母匹配与文本字段的单个/多个字
不介意我的问题太长了。
我的客户有如下要求。
- 我们需要一个matchall和matchallpartial场景。
- 这取决于我们在应用程序级别执行matchall或matchallpartial的搜索字段。
我们也有通配符,左边和右边都是通配符条目。
我使用关键词标记器进行索引以及查询它是满足我在所有情况下的需求。但同义词,停用词和词干根本不工作。因为我使用关键词标记器,它正在构建整个短语的查询。我试过与StandaradTokenizer工厂它仅失败matchall情况下,它仍然工作正常。
请问您可以发布一些示例查询和建议,以获得与单个单词/多字的精确匹配。
例如 如果我的领域有 “指标指标组件”这是整个短语。即使我正在寻找“指标”我不想要的结果即将获得结果。
如果我使用关键词tokenizer,我得到了我想要的但它在同义词,停用词方案中失败。
有些时候(取决于逻辑)我将使用matchallpartial场景的相同文本提交时间,我希望“indicator”的结果如何通过stadardtokenizer获得整个短语/单词的准确matchall。
请帮帮我。
感谢, 斯里兰卡
不要忘记你可以索引多次相同的字段与不同的标记化;您可以使用查询部分匹配的标记化版本,以及查询完整匹配的更确切版本。 – Yann 2015-02-09 15:23:24
Yann如何在不同的领域使用不同的标记器。 – 2015-02-19 14:59:28
是的,您可以在您的模式中定义各种fieldTypes;通常为了完全匹配,您将使用KeywordTokenizerFactory(实际上不实际标记),对于部分匹配,则使用StandardTokenizerFactory。您可以在两个字段(每个字段都有一个字段)中编制相同的内容,并根据您想要的匹配类型,查询或其他字段进行索引。 – Yann 2015-02-19 15:15:08