Lucene, Elasticsearch :면 검색, 전체 텍스트 검색, 대단원!그래프, 패싯, 전체 텍스트 : 모든 세상에서 최고?
Neo4j, 아마도 타이탄 : 그래프 검색 awesomeness!
하지만 패싯, 전체 텍스트 및 그래프를 결합하는 쿼리에 적합한 전략은 무엇입니까? 그래프 검색 결과를 구체화하고 이것을 패싯/전체 텍스트 쿼리로 옮기고 싶지 않습니다. 이 세계를 결합하는 방법? 여기
은 예입니다
- 패싯 – 우리는 수정 된 등의 측면 날짜, 상태, 항목 유형 (그리고 훨씬 더 "항목"을 가지고,하지만 이러한 항목의 필드/패싯도 구성 가능하며 합리적 평균 평균 의 패싯은 약 20 개입니다.
- 그래프 – 이러한 "항목"은 서로 관련이 있습니다 (우리는 "업스트림"및 "다운 스트림"항목/관계에 대해 많이 이야기합니다), 그들은 다양한 방식으로 사용자와 관련이 있으며, 방향을 바꾸면 더 많은 사용자가 연결됩니다.) ,
- 나에게 X 걸음 떨어져 주어진 아이템 목록에서 (A 그래프 우려)있는 모든 "항목을"표시 :
이제 우리는 다음과 같은 질의를 할 싶습니다 등과 같은이며 지난 30 일 동안 수정되었습니다 (면 처리 관심 사항).
- 지정된 항목에 연결된 사용자를 표시합니다. 지정된 항목에 대해 수정 또는 주석 달기를 의미하거나 해당 항목에서 x까지 떨어진 관련 항목을 표시합니다. 단, 관련 항목이 특정 상태에 있었고 해당 항목이 수정 된 후에 수정되었습니다.
당신은 루씬의 그래프를 모델링 할 수 있지만 큰 노 스타터를 보인다.
당신은 Neo4j에면을 추가 할 수 있습니다 (! 잘못 나를 증명),하지만 그것은 단지에 최적화되지 않은 성능 위험을 보인다. (그러나 어쩌면 당신은 다른 경험을 가지고 있습니다.)
아마도이 문제에 황금빛 총알이 있습니다.
의견을 기반으로 한 질문입니다. – eliasah
이 시점에서 저는 실제로 작업 솔루션을 찾고 있습니다. 의견을 바탕으로 "좋은 전략"에 대한 제 질문을 읽을 수있는 방법을 이해합니다.하지만 처음에는이를 수행하는 방법에 대한 답을 얻게되어 기쁘 며, 주관적인 질문을 행복하게 해결할 것입니다. –
Sander, 나는 여기서 일하는 솔루션에 충분한 정보를 제공했다고 생각하지 않습니다. 이 질문을 읽은 독자는 만약 당신이 그런 것들을 조합 한 DB에 대해 질문 할 필요가있는 어떤 종류의 질문에 대한 예제를 제공하지 않는다면, 패싯, 전체 텍스트 및 그래프 검색을 결합함으로써 여러분이 의미하는 바를 이해하지 못할 것입니다. 나는 그것을 찔렀다. 그러나 나는 그것들이 단지 일반성 들임을 안다. 하지만 더 많은 정보 없이는 더 잘할 수 없습니다. – FrobberOfBits