我怎样才能做到这一点""在Sphinx查询中按第一个字母列出时跳过

时间:2014-05-15 13:29:00

标签: mysql sphinx

我需要使用先前使用mysql完成的Sphinx复制结果。

我建立了单个索引,它包含3个示例字段:

artistname |歌名| lyricstext

注意*需要澄清一下,原来的数百万个表来自mysql表(完全清空并重新导入),首先将它们导入到mysql中。索引源是将这些表链接在一起的单个查询。

使用sphinxql命令我需要实现下一个:

匹配并按字段“artistname”和“songname”的第一个字母列出,同时忽略“the”如果找到。

遵循这些规则,以第一个字母“w”列出将包括(示例):

  1. Whitney Houston
  2. The Who
  3. 结果需要按重量分类。

    按第一个字母“B”列出将按重量产生结果:

    1. B /单个字母/ 100
    2. B-T /单字母+ / 90后的非字母符号
    3. B为蓝色/单个字母+空格/ 80
    4. Baccara /单字首字母/ 70
    5. 不良宗教/几个字的首字母/ 60
    6. B /不计算“The”/ 50
    7. 不计算“The”/ 40
    8. 后的B.Y.Z /单字母+非字母符号
    9. 不计算“The”/ 30
    10. 后的B 2 B /单字母+空格
    11. Boyzz /单字的首字母不计算“The”/ 20 10.蓝色男孩/几个字的第一个字母不包括“The”/ 10
    12. =============================================== ====

      可以在任何字段上完成全文搜索

      我们可以选择在搜索中控制容差(字符串中可能存在错位/丢失字母的数量)?

      搜索“beatle”的示例:

      匹配“甲壳虫乐队” 会匹配“披头士”

      =============================================== ==== 示例搜索字符串“don”

      重量结果:

      1. 唐/重100 - 第一个位置单词 - 完美匹配/
      2. 请一个tello / weight 90-第一个位置几个字/
      3. Mon Don Atel O /重量80--非首位置几个字/
      4. Monade Don /重量70--最后位置几个字/
      5. 我知道它看起来很多,但所有这些都转化为几个查询。我只是没有足够的专业知识来制作它。

        最后但并非最不重要的是,我应该如何使用哪些选项构建索引,以便在使用这些查询时可以使用sphinx的全部功能?

0 个答案:

没有答案