我已經爲包含詞性(POS)標籤的有效載荷的每個單詞索引了文檔。 我只想搜索那些搜索查詢詞有那個POS標籤的文檔。 例如'訪問谷歌'有谷歌作爲名詞。它應該只顯示Google的文檔作爲名詞。 可以編寫自定義分析器幫助嗎? 如何在「相似」類中訪問「有效載荷」時訪問術語?使用有效載荷和NLP標籤進行Lucene搜索
0
A
回答
0
在lucene中進行精確(:google AND:'名詞')查詢可能會非常棘手......您的查詢是什麼以及如何將文檔寫入索引?
0
我會推薦使用跨度查詢。跨度查詢可以返回一個Spans對象,它允許檢查每個匹配令牌的有效負載。
請參閱PayloadTermQuery。
0
您可以使用PayloadAttribute類將標記存儲爲有效內容,然後覆蓋DefaultSimilarity類的scorePayload方法以使用標記。在你的情況下,如果標籤內容是名詞,你會希望返回1,否則返回零。
下面的代碼片段是有用的設置有效載荷信息
String tag = "noun";
byte[] payload = tag.getBytes();
Payload payloadData = new Payload(payload);
payloadAttr.setPayload(payloadData);
現在使用下面的代碼行檢索過程中儘量使用標籤。這必須通過擴展DefaultSimilarity類來完成。
class PayloadSimilarity extends DefaultSimilarity {
...
...
protected float scorePayload(int doc, int start, int end, BytesRef payload) {
String payloadData = payload.utf8ToString();
return payloadData.equals("noun")? 1 : 0;
}
...
...
}
最後,在檢索過程中,只需設置您的擴展類的相似性類即可。
searcher.setSimilarity(new PayloadSimilarity());
相關問題
- 1. 在使用lucene索引和搜索過程中添加有效載荷
- 2. Lucene中的有效載荷性能
- 3. Lucene的3.5自定義有效載荷
- 4. 使用Apache Lucene進行搜索
- 5. Sitecore:使用lucene進行全文搜索
- 6. 關於使用Lucene進行搜索?
- 7. 使用Lucene進行樹搜索
- 8. 使用Lucene 4.3進行分面搜索
- 9. 獲得在Lucene的4.6.X在搜索結果中的有效載荷
- 10. 用java/scala進行Neo4j lucene搜索API
- 11. HttpClient,httppost和有效載荷
- 12. FTS/Lucene標籤模糊搜索
- 13. 搜索使用Lucene
- 14. 如何使用索引配置tolkenizers並使用Lucene和Nhibernate進行搜索
- 15. 使用SearchBar,SearchDisplayController和UITableView進行搜索的有效方法
- 16. 如何使用nlp進行語義關鍵字搜索
- 17. 在沒有完整重新索引的情況下更新Lucene有效載荷
- 18. 進行搜索標籤輸入字段
- 19. Lucene並行搜索
- 20. Laravel:有效載荷無效
- 21. Symfony和Lucene搜索
- 22. Lucene的:有效載荷和相似功能---總是相同的負載值
- 23. Lucene的分析器進行索引和搜索
- 24. 使用libpcap解釋有效載荷
- 25. Android gcm通知有效載荷與數據有效載荷?
- 26. 什麼是「有效載荷」?例如,XML有效載荷
- 27. 閱讀NFC標籤上的「有效載荷」數據?
- 28. WSO2有效載荷廠保留從XML響應標籤
- 29. 信標有效載荷分析
- 30. NLP - 在全文搜索中使用語義通配符進行查詢,也許用Lucene?
但是,這總是會壓制動詞。 – user2377122