gpt4 book ai didi

php - Sphinx(或其他第三方)搜索引擎是否适用于我的情况,还是我应该创建自己的搜索引擎?

转载 作者:行者123 更新时间:2023-11-29 05:00:15 26 4
gpt4 key购买 nike

我正在我的网站上创建分类广告的搜索功能。以下是我需要满足的一些标准:

  • 当搜索“bmw 520”时,仅匹配这两个词完全按此顺序出现的位置。不匹配仅“bmw”或仅“520”。

  • 当搜索“bmw 330ci”时,将返回上述结果,但是,带有和不带有 ci 扩展名。众所周知,汽车中有许多扩展名(i、ci、si、fi 等)。

  • 我想要“减号”来“排除”所有包含符号后单词的返回,例如:“bmw -330”将返回所有“bmw”结果,但不包含“330”结果。 (用 NOT 代替减号也可以)

  • 像“é”这样的所有特殊字符重音都被转换为它们的简单值,在本例中为“e”。

  • 要在搜索字符串中完全忽略的单词列表。

我需要 Sphinx 还是应该将其写在 php 文件中?

你建议我做什么?

谢谢

最佳答案

我认为 Sphinx 非常适合你想做的事情,但有些事情不会自动发生......

  • 要将两个单词精确匹配在一起,您需要使用短语匹配模式,或者在使用扩展匹配模式时将单词用双引号括起来。

  • 这是一个棘手的问题 - 除非您指定特定的异常(exception)情况,否则我认为您不能将 330ci 索引为“330 ci”和“330ci”。

  • 只要您使用的是 bool 匹配模式或扩展匹配模式,减号就可以如您所愿地工作。

  • “特殊”字符可以转换为标准 ASCII,但默认情况下不会发生这种情况。您需要设置 your charset_table value .这篇博文针对 Thinking Sphinx(Sphinx 的 Ruby 插件),但设置值直接传递给 Sphinx。

  • 如果您在查询中至少有一个其他词,您只能在每个查询的基础上忽略特定词(即:“-foo”对于 Sphinx 将失败,但“foo -bar”很好)。值得注意的是可以选择to not index specific words .

关于php - Sphinx(或其他第三方)搜索引擎是否适用于我的情况,还是我应该创建自己的搜索引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com