Solr中的精确Pharse匹配文本字段的单/多字

时间:2015-02-09 13:58:56

标签: java search solr full-text-search

我有一个很大的问题和有关solr行为的问题,请你帮我解决一下。

不要介意我的问题太长了。

我的客户有如下要求。

  • 我们需要一个matchall和matchallpartial场景。
  • 这取决于我们在应用程序级别进行matchall或matchallpartial的搜索字段。

我们还有通配符,左,右,两者都是通配符。

我使用Keyword tokenizer进行索引以及查询它在所有场景中都满足了我的要求。但同义词,停用词和词干完全不起作用。因为我使用了关键字tokenizer而且它正在构建像整个短语一样的查询。我尝试过StandaradTokenizer工厂它只是失败只有matchall场景仍然工作正常。

请您发布一些示例查询和建议,以获得与单字/多字的完全匹配。

e.g。 如果我的领域有 "指标指标组成"这是完整的短语。即使我正在寻找"指标"我不想要那个。

如果我使用关键字标记符,我会得到我想要的但是在同义词,停用词方案中失败。

有些时候(取决于逻辑)我将使用相同的文本提交matchallpartial场景,那时我想要结果"指标"如何使用stadardtokenizer获得整个短语/单词的精确匹配。

请帮帮我。

谢谢, 斯

1 个答案:

答案 0 :(得分:0)

我列出了两个肯定有助于完全匹配的例子

我的第一个查询是: - /select?q=name:anand kishore - 通过这种方式,我将获得1000条记录,这些记录将具有名称anand或kishore或两者

我的第二个问题是: - /select?q=name:"anand kishore" - 通过这个我将获得60条记录的结果,这些记录将具有和kishore相似,(anand kishore tripathy,kamal anand kishore)

我的第三个问题是: - /select?q=name:"kamal anand kishore" - 通过这个我只得到一个完全匹配的结果,即kamal anand kishore