색인에서 사용 가능한 모든 레코드를 검색 할 수 있어야합니다. 1000이 한계라고 생각합니다. 내가 할 수있는 뭔가가 있습니까?1000 개가 넘는 결과 검색 Google App Engine 검색 API
0
A
답변
-1
인터넷을 통해 조사한 프로젝트 중 하나에서 유사한 문제가 발생하여 검색 API를 사용하는 대신 해결 방법 시나리오를 만들었습니다. 내가 한 것은 패턴 기반 검색이 필요한 테이블에 하나의 속성 만 가지고 있다는 것입니다. 나는 여기에서도 나의 코드를 공유하고있다. 동일 표에 키워드를 기억
객관화 엔티티 클래스
@Entity
public class NewsFeed {
@Id
@Index
private Long feedID;
private String title;
private Set<String> titleKeywords;
// getters and setter
}
논리. 내 엔티티의 모든 제목 단어를 키워드로 분리하여이를 Set Object에 저장했습니다. 제목에서 키워드를 추출하기위한
NewsFeed newsFeed = new NewsFeed();
newsFeed.setTitle(title);
newsFeed.setTitleKeywords(getKeywordsSet(newsTitle));
// save entity here
방법
public Set<String> getKeywordsSet(String title) {
Set<String> keywords = new HashSet<String>();
String titleNews = title.toLowerCase();
String[] array = titleNews.split(" ");
for (int i = 0; i < array.length; i++) {
// replacing all special characters here
String word = array[i].replaceAll("\\W", "");
keywords.add(word);
}
return keywords;
}
우리의 DB에서 모든 피드 목록, 그리고 마지막으로 아래의 논리에 의해 매개 변수를 검색 할 일치 (필드를 검색 할 수 있습니다).
public List<NewsFeed> getFilterJsonArray(String param){
// Listing all the objects of entity
List<NewsFeed> list = newsFeedDao.listOrderedFeeds();
List<NewsFeed> matchedObject = new ArrayList<NewsFeed>();
for (NewsFeed newsFeed : list) {
/**
* main logic for pattern matched keywords
**/
if (isAnElementInSet(newsFeed.getTitleKeywords(), param.toLowerCase())) {
matchedObject.add(newsFeed);
}
}
return matchedObject;
}
public boolean isAnElementInSet(Set<String> keywords, String param) {
String []params = param.split(" ");
if (keywords.size() > 0) {
for(String splittedParam : params){
if (keywords.contains(splittedParam)) {
return true;
} else{
for (String keyword : keywords) {
if(keyword.contains(splittedParam)){
return true;
}
}
return false;
}
}
return true;
}else{
return false;
}
}
나는 이것이 일을 찾기위한 최선의 해결책이 될 수 없다는 것을 알고 있지만,이 해결책은 나를 위해 아주 잘 작동했다. 이 논리를 개선하기 위해 여기에서 공유했습니다.
관련 문제
- 1. 구문 분석에서 1000 개가 넘는 검색어로 검색
- 2. Google App Engine 검색 API
- 3. Google 장소 API가 60 개가 넘는 결과
- 4. 트위터 검색 API - 20 개가 넘는 용어
- 5. Google App Engine 검색 API 위치 기반 검색 수행
- 6. AngularJS에서 ngCordova를 사용하여 1000 개가 넘는 주소록 검색
- 7. Google App Engine (python) : 검색 API : 문자열 검색
- 8. google api 검색 결과
- 9. RStudio에서 1000 개가 넘는 행보기
- 10. 검색 엔진 - App Engine
- 11. Google 애널리틱스에서 10,000 개가 넘는 레코드를 검색 할 수 없습니다.
- 12. Google App Engine 검색 API 커서가 업데이트되지 않음
- 13. App Engine 검색 API - 일시적인 오류
- 14. 노드 서버가 1000 개가 넘는 객체에서 충돌합니다.
- 15. API/XMLfor Google 검색 결과?
- 16. Google 검색 결과 API 사용?
- 17. Google App Engine Datastore 세부 검색
- 18. Google App Engine Java 및 엔티티 검색
- 19. 검색 API Python 사용 - Google App Engine Big 표
- 20. Google App Engine - 검색 API 사용 목록 필드가있는 Python
- 21. SQL에서 1000 개가 넘는 레코드가 업데이트되었습니다.
- 22. alt 태그를 1000 개가 넘는 이미지로 설정
- 23. 1 분이 넘는 Google App Engine cron
- 24. App Engine Search API - 결과 정렬
- 25. 검색 결과 10 개 이상 검색 Google 검색 API
- 26. Google 검색 API - "일반"Google 결과 얻기
- 27. ASP.NET의 DirectorySearcher에서 1000 개가 넘는 레코드를 가져올 수 있습니까?
- 28. App Engine 정적 파일 검색
- 29. Google App Engine 사용자 API
- 30. LDAP : 1000 개가 넘는 결과를 반환하는 방법 (Java)