Ответ 1
Вы не можете искать контент без указания имени поля , однако вы можете использовать MultiFieldQueryParser для поиска во всех доступных полях.
например
Dim queryParser = New MultiFieldQueryParser(Version.LUCENE_29, _
indexReader__1.GetFieldNames(IndexReader.FieldOption.ALL).ToArray(), analyzer)
здесь приведен пример.
'get index directory
Dim directory As Directory = FSDirectory.Open(New DirectoryInfo(HostingEnvironment.MapPath(VirtualIndexPath)))
'get analyzer
Dim analyzer As Analyzer = New StandardAnalyzer(Version.LUCENE_29)
'get index reader and searcher
Dim indexReader__1 As IndexReader = IndexReader.Open(directory, True)
Dim indexSearch As Searcher = New IndexSearcher(indexReader__1)
'add all possible fileds in multifieldqueryparser using indexreader getFieldNames method
Dim queryParser = New MultiFieldQueryParser(Version.LUCENE_29, _
indexReader__1.GetFieldNames(IndexReader.FieldOption.ALL).ToArray(), analyzer)
Dim query = queryParser.Parse(Criteria)
Dim resultDocs As TopDocs = Nothing
'perform search
resultDocs = indexSearch.Search(query, indexReader__1.MaxDoc())
Dim hits = resultDocs.scoreDocs
надеюсь, что помощь