나는 ~ 50 M 짹짹의 아카이브가 있습니다. 다른 사용자가 서로 언급하는지 확인하고 싶습니다. 페이스 북 (www.twitter.com/facebook)이라는 계정이 있습니다. 나는이 계정을 언급하고 단지 facebook을 말하지 않는 트윗을 찾고 싶다.태양 흑점 정확한 단어 검색
그래서 태양 흑점를 사용하여 내 구문은 다음과 같습니다
search = FeedEntry.search do
without(:person_id,person.id) # No self referencing
fulltext "@#{person.username}" #Find those Feeds that mention this person
paginate :page => 1, :per_page => 1000000 #Make sure we dont paginate
end
SOLR은을 무시하는 것 같다 @ 서명을 완전히 심지어 때 ""또는 ''가 나던 문제에 사용자 이름을 넣어 검색 할 수 있습니다.
search = FeedEntry.search{fulltext "facebook -RT"}
=> <Sunspot::Search:{:start=>0, :defType=>"dismax", :fq=>["type:FeedEntry"], :rows=>30, :q=>"facebook -RT", :fl=>"* score", :qf=>"retweeters_text text_text"}>
>> search.total
=> 299525
어떻게해야합니까? 그 결과를 거치고 루비를 사용하여 "시간이 걸리는 가양 성"을 찾아내는 "include"@facebook "을 사용해야합니다. 나는 tokenizer 팩토리와 관련이 있다는 의혹을 가지고 있습니다 : http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.KeywordTokenizerFactory
의 schema.xml에서 내 설정은 다음과 같습니다
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
내 경우에 도움이 될 WhitespaceTokenizerFactory에 StandardTokenizerFactory을 변경하는 생각 Btw는 내 신체에서 생산이 공장을 토큰을 확인할 수있는 방법이있다.. ?
마지막 질문은 토크 나이저를 변경 한 후 다시 인덱싱해야합니까? 내 가정은 '예'입니다. 당신이 @name 등 해시 태그, 다시 트윗, 당신 인덱스로이 트윗을 분석하고 SOLR 별도의 필드를 사용할 수있는 경우
건배 토마스
맞습니다. 올바른 db 필드를 만들어 트윗의 추가 데이터로 저장할 수 있습니다. " 엔티티 "도 트윗이 언급했다. 고마워요! – plotti