欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请教几个关于sphinx或coreseek的问题?

程序员文章站 2024-04-03 10:22:34
...
把 A B C D E F G H一共8个字段索引进了sphinx(其实用了coreseek中文分词),其中ACD是全文索引的字段,剩下是属性。

问题1:
现在有个需求,就是搜索的时候没有关键词,但需要过滤,而我又不想走db,想直接在sphinx过滤,所以query的时候是空,但之前用SetFilter了我想过滤的字段和内容,发现无效,请问有办法实现这类型的需求吗?

问题2:
能否设定分词的长度,例如现在我搜一个词“家用”,结果分词成了“家”、“用”两个字,含有其中一个字的结果也给我返回来了,怎么避免呢?我在配置文件把min_word_len设置为2都没用

回复内容:

把 A B C D E F G H一共8个字段索引进了sphinx(其实用了coreseek中文分词),其中ACD是全文索引的字段,剩下是属性。

问题1:
现在有个需求,就是搜索的时候没有关键词,但需要过滤,而我又不想走db,想直接在sphinx过滤,所以query的时候是空,但之前用SetFilter了我想过滤的字段和内容,发现无效,请问有办法实现这类型的需求吗?

问题2:
能否设定分词的长度,例如现在我搜一个词“家用”,结果分词成了“家”、“用”两个字,含有其中一个字的结果也给我返回来了,怎么避免呢?我在配置文件把min_word_len设置为2都没用

1、只过滤字段,又没有关键词,干嘛不用db?
2、采用SPH_MATCH_ALL试试,不太清楚你用的什么分词。