Расширенный Lucene запрос RavenDB - PullRequest
5 голосов
/ 10 августа 2011

Я действительно изучаю веревки как в lucene, так и в ravendb - у меня есть следующий документ в Raven -

{
  "InternalEvent": {
    "Desec": "MachineInfo: 1F8BFBFF000106A5_2103933941_00155D365607_WIN-UWJJ7OPR9TM_1, UserInfo: NT AUTHORITY\\LOCAL SERVICE_3, ProcessInfo: \\Device\\HarddiskVolume1\\Windows\\System32\\taskeng.exe, Pid: 5772, ObjInfo: , EventId: New Process Stopped",
    "MachineInfo": "1F8BFBFF000106A5_2103933941_00155D365607_WIN-UWJJ7OPR9TM_1",
    "UserInfo": "NT AUTHORITY\\LOCAL SERVICE_3",
    "ProcessInfo": "\\Device\\HarddiskVolume1\\Windows\\System32\\taskeng.exe",
    "Pid": 5772,
    "ObjInfo": "",
    "EventId": "New Process Stopped",
    "Occured": "2011-08-08T23:25:31.8220000+01:00"
  },
  "Key": "6c4abf6a-156e-4224-8eac-72cde756b3c6"
}

Я запрашиваю базу данных с помощью -

var searchValue = "InternalEvent:Desec:(" + String.Join(" AND ", searchTerms) + ")";
var eventEntities = session.Advanced.LuceneQuery<EventCacheEntity>()
                                  .WaitForNonStaleResultsAsOfLastWrite()
                                  .Skip(0)
                                  .Take(_pageLimit)
                                  .Where(searchValue);

для чего-либо, например, если searchTerms имеет только один термин, такой как Machine, который определенно находится в поле desec.что я делаю не так?

Я не слишком уверен насчет вложенных полей в синтаксисе запросов lucene, т.е. Internalevent: Desec ??

1 Ответ

4 голосов
/ 10 августа 2011

Синтаксис для вложенных полей: InternalEvent.Desec, но я не совсем уверен, что вы пытаетесь сделать с поисковыми терминами

...