0

我正在使用轮胎,我们面临搜索结果问题。我们正在寻找“铅笔”。

  • '红铅笔' 好的
  • '电子卷笔刀' NOT OK 不应包含在结果集中。

这是模型上的轮胎设置:

settings :analysis => {
            :analyzer => {
              :my_analyzer => {
                "tokenizer"    => "lowercase",
                # "filter"       => ["synonym", "porterStem", "phonetic"]
                "filter"       => ["synonym", "porterStem"]
              }
            },
            :filter => {
              :synonym => {
                  "type" => "synonym",
                  "synonyms_path" => "#{Synonym.path}"
              }
            }
          } do
    mapping do
      indexes :commodity_code
      indexes :commodity_name
      indexes :long_description, analyzer: 'my_analyzer'
      indexes :short_description, boost: 10, analyzer: 'my_analyzer'
4

1 回答 1

0

默认情况下,查询electronic pencil sharpener将被翻译成electronic OR pencil OR sharpener

如果要排除包含 的文档sharpener,请使用如下查询:electronic OR pencil NOT sharpener+electronic +pencil -sharpener.

在 Query DSL 中查看boolmatch查询以表达此类条件;https://github.com/karmi/tire/tree/master/test/integration

于 2013-06-25T11:50:50.443 回答