Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在没有NGramTokenizerFactory的情况下支持部分单词搜索?_Ruby On Rails_Search_Solr - Fatal编程技术网

Ruby on rails 如何在没有NGramTokenizerFactory的情况下支持部分单词搜索?

Ruby on rails 如何在没有NGramTokenizerFactory的情况下支持部分单词搜索?,ruby-on-rails,search,solr,Ruby On Rails,Search,Solr,我的Rails应用程序版本是2.3.11,我使用acts_as_solr进行搜索。 搜索工作正常。我的问题是它不支持部分单词搜索 "success" =>Getting search results "succ" =>No results 我发现NGramTokenizerFactory可以做到这一点,但它需要更改solr配置文件schema.xml 是否有其他替代解决方案可以在不更改solr配置的情况下支持部分单词搜索 或 是否有支持部分单词搜索的solr查询逻辑 我尝试过添加“

我的Rails应用程序版本是2.3.11,我使用acts_as_solr进行搜索。 搜索工作正常。我的问题是它不支持部分单词搜索

"success"
=>Getting search results
"succ"
=>No results
我发现NGramTokenizerFactory可以做到这一点,但它需要更改solr配置文件schema.xml

是否有其他替代解决方案可以在不更改solr配置的情况下支持部分单词搜索

是否有支持部分单词搜索的solr查询逻辑


我尝试过添加“succ*”,它给出了正确的结果。但我仍然无法像“*word*”

那样搜索,以便在单词开头使用*,您可能需要添加到您的模式中

谢谢您的朋友的回复。但它还需要更改schema.xml文件的格式。是的,要调整Solr以满足您的需要,您必须更改您的模式。另一种更痛苦的方法是在索引期间/之前更改字符串。但我相信这并不符合索尔的精神。我对你如何解决这个问题很感兴趣。顺便说一句,为什么你不能改变你的模式?