我在Rails应用程序中使用Sunspot solr搜索列出用户。
用户控制器:
Target _CompileJava:
C:\Program Files (x86)\Java\jdk1.7.0_71\\bin\javac.exe -J-Dfile.encoding=UTF8 -d obj\Debug\android\bin\classes -classpath "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\mono.android.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v4\23.0.1.3\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v4\23.0.1.3\embedded\libs\internal_impl-23.0.1.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v7.AppCompat\23.0.1.3\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v7.MediaRouter\23.0.1.3\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v7.MediaRouter\23.0.1.3\embedded\libs\internal_impl-23.0.1.jar;C:\Users\nemes\AppData\Local\Xamarin\Android.Support.v7.RecyclerView\23.0.1.3\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\GooglePlayServices.Base\8.1.0\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\GooglePlayServices.Basement\8.1.0\embedded\classes.jar;C:\Users\nemes\AppData\Local\Xamarin\GooglePlayServices.Maps\8.1.0\embedded\classes.jar" -bootclasspath C:\Users\nemes\AppData\Local\Android\android-sdk\platforms\android-23\android.jar -encoding UTF-8 "@C:\Users\nemes\AppData\Local\Temp\tmp4C9E.tmp"
obj\Debug\android\src\com\companyname\murakami_kiev\R.java:1: error: illegal character: \0
用户模型:
def index
@users = User.search {
fulltext params[:search]
paginate :page => params[:page], :per_page => 10
}.results
end
每当我更新任何用户时,搜索会产生同一记录的两个条目,访问这两个条目将带我到同一记录。
searchable do
text :email
text :user_profile do
user_profile.name
end
end
每次我需要运行
/users/1
解决这个问题。
有没有办法只返回一个条目,即使在更新后?
答案 0 :(得分:0)
真的很难找到。但这里有一些选择:
1)确保您有2个索引记录。这里有一些建议如何调试:Debugging Solr search queries on Sunspot
2)查看config / sunspot.yml以查看回调设置Github sunspot example应该有auto_remove_callback设置