【问题标题】:How to search for an exact sub-string in aws cloudsearch?如何在 aws cloudsearch 中搜索确切的子字符串?
【发布时间】:2018-02-03 04:49:38
【问题描述】:

当我搜索“bcde”时,我想获得以下所有匹配项:

  • 'abcde'
  • 'bcdef'
  • 'abcdef'

在 AWS cloudsearch 中实现此结果的方法是什么(最好使用简单的查询解析器)?前缀不会给我第一个结果。有没有其他办法?

【问题讨论】:

  • 您可以使用您的前缀搜索和布尔“或”它与*bcde 的搜索词。您可以仅用 *bcde* 替换整个查询,尽管我认为这将无法包含在开头或结尾具有 bcde 的匹配项,因此您还需要在您的查询
  • 非常感谢您的帮助,Alex。所以,我在这里尝试听从你的建议,但我可能会遗漏一些东西。在 aws 控制台的测试搜索工具中,我使用:Query Parser "Simple" 和 Default Operator "or"。所以我输入搜索词:*AHOO* *AHOO AHOO*,我得到的结果是:AHOO,AHOORA,FOO@AHOO.COM,但我没有得到类似的结果:FOO@YAHOO.COM 我的第二个观察是我得到的结果完全一样如果我输入结果:*AHOO AHOO* 这意味着*AHOO* 不会向我的查询添加任何内容?非常感谢,祝您度过愉快的一年!
  • 如果您使用布尔运算符,我认为您需要使用结构化查询解析器。查看 cloudsearch 生成的 url/querystring 并确保其有意义。如果使用结构化解析器没有帮助,请随意在此处粘贴该查询字符串,我会仔细检查它
  • 我正在尝试做同样的事情,但找不到解决方案。例如:如果人们搜索ing 我想返回类似inglorioussharingsharingblabla 的字符串...任何示例我的查询应该是什么样子?我在 cloudsearch 上使用了查询测试器,但无法返回我想要的内容:/

标签: full-text-search amazon-cloudsearch


【解决方案1】:

经过几次尝试示例但没有成功。我决定如下:

我创建了一个文本数组字段,并将它的一部分从后到前的字符串存储起来,它起作用了。

示例:我的字符串是“abcde”,我搜索 bcde。这行不通 但在我的字段中,文本字段将是以下字符串: e、de、cde、bcde、abcde。所以你会找到“abcde”,因为他会在文本数组字段中找到这个词。

哦,伙计,但如果我搜索 bcd 这个词不在文本数组字段中。 好吧,但是字符串“bcde”以“bcd”开头,所以它可以工作! =)

我要插入的 php 文件如下所示:

$term = "abcde";

$arrStr = str_split($term);
$arrTerms = [];
$aux = 1;
foreach($arrStr as $str){
    $arrTerms[] = substr($term,($aux * -1));
    $aux++;
}

$data = [
    'type'   => 'add',
    'id'=> [your_id],
    'fields' => [
        'id'=> [your_id],
        'field-text' => $term
        'field-text-array' => $arrTerms

    ],
];

【讨论】:

    【解决方案2】:

    如果您的索引字段是“文本”类型,一个简单的结构化查询将返回包含您的查询字符串的所有匹配项。

    例子

    查询:(和part_part_number:'009')

    结果:

    1   _score  10.379914
    part_part_number    009
    
    2   _score  10.379914
    part_part_number    A-009-DY
    
     3      _score  10.379914
    part_part_number    BY-009
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-01
      • 2015-12-25
      • 2023-03-13
      • 2018-10-22
      • 1970-01-01
      • 2020-02-01
      • 2020-02-27
      • 1970-01-01
      相关资源
      最近更新 更多