0
我收到供應商名稱和他們的地址作爲字符串,我在Lucene中索引,像這樣,,,,。現在,從另一個servlet接收包含供應商名稱和地址的文本。例如,「我在商店中使用信用卡XXXXX時出現問題」,或者「我的信用卡在商店中被拒絕」。我刪除了像I,the,in,problem,shop等停用詞,並用「」來清除文本。我需要從給定文本中vendor_name或區域中找到所有這些供應商。如何使用lucene搜索句子中的關鍵字
這是我如何索引供應商的詳細信息;文件中的每一行都是供應商,而且它們的詳細信息以逗號分隔。 ,,,
FieldType keywordFieldType = new FieldType();
keywordFieldType.setStored(true);
keywordFieldType.setIndexed(true);
keywordFieldType.setTokenized(false);
writer = new IndexWriter(dir, iwc);
BufferedReader reader = new BufferedReader(new FileReader(
VENDOR_DETAILS));
String line = reader.readLine();
while (line != null) {
Document document = new Document();
document.add(new Field("content", line.toLowerCase(),
keywordFieldType));
writer.addDocument(document);
line = reader.readLine();
}
writer.commit();
這是我的搜索索引,
QueryParser queryParser = new QueryParser(VERSION, "content",
new WhitespaceAnalyzer(VERSION));
String special = "content:" + stringToQuery.trim();
try {
if (searcherManager == null) {
searcherManager = new SearcherManager(
FSDirectory.open(new File(INDEX_DIRECTORY)),
new SearcherFactory());
}
searcher = searcherManager.acquire();
TopDocs docs = searcher.search(queryParser.parse(special), 100);
int hitCount = docs.totalHits;
如何查詢了Lucene搜索上述要求?我應該使用什麼類型的查詢來查找給定文本中的供應商詳細信息?