2017-10-30 1 views
-1

Microsoft Search에서 좋은 결과를 얻으 려합니다.system.rank, system.keywords from SystemIndex

는에 allways 1000 내가 system.HitCount을 시도, 그것은 65535

내가 키워드에 단어를 일치하도록 시도하고 그 다음에 allways 반환 몇 가지 문제 ...

먼저 system.rank의 수익을 얻었다 System.Keywords를 사용하여 ...

요청 결과가 키워드에서 항상 비어있는 것처럼 보입니까?

+0

안녕하세요, 스택 오버플로를 환영합니다. 여기에서 질문하는 것이 정말로 중요합니다. [ask]와 [mcve]를보십시오. 감사합니다 –

+0

글쎄요, 나는 Microsoft Search와 함께 일하고 있습니다. System.Keywords 필드의 결과는 제외하고 모두 괜찮습니다. 태그가 없으니. –

답변

0
strQuery = "SELECT SYSTEM.FILENAME, System.Keywords FROM SYSTEMINDEX WHERE scope= '" & scope & "' AND SYSTEM.FILENAME NOT LIKE '%.tmp' AND SYSTEM.FILENAME NOT LIKE '~$%' " 

Dim constring As String = "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';" 
Using con As New OleDbConnection(constring) 

    con.Open() 

    Dim da As New OleDbDataAdapter(strQuery, con) 
    Dim table AS new DataTable() 
    Dim ds As New DataSet() 
    Dim dc AS New DataColumn() 
    Dim cmdSearch As New System.Data.OleDb.OleDbCommand(strQuery, con) 
    Dim reader As OleDbDataReader = cmdSearch.ExecuteReader() 
    Dim result As New ArrayList() 

    table.Columns.Add("filename") 
    table.Columns.Add("DocKeywords") 

    If reader.HasRows Then 

     Do While reader.Read() 

      Dim row As Datarow = table.NewRow() 

      row("filename") = reader.Item("system.filename") 
      row("DocKeywords") = reader.Item("System.Keywords") 'String.Join(",", reader.Item("System.Keywords")) 'system.string[]: empty 

      table.Rows.Add(row) 

     Loop 

    End If 

    DataGrid1.DataSource = table 
    DataGrid1.DataBind()